swi_vm() and busdma_swi()?
    Matthew Dillon 
    dillon at apollo.backplane.com
       
    Mon Dec  6 10:43:49 PST 2010
    
    
  
:Err, the current busdma API supports pre-allocation bounce buffer
:zones for address restrictions and alignment constraints, all of the
:network device drivers use that features (I think I converted all of
:the network drivers early 2009).
    Which works fairly well on system boot but can fail horribly when
    you kldload a driver after the system has been up for a while.
    In anycase, I agree re: the async busdma stuff.  It needs to be
    removed.  I'd like to simplify the API to bus_dma_tag_create() as well,
    replacing the extremely non-intuitive 'lowaddr' and 'highaddr' fields
    with a simple #define'd domain constant.  e.g. BUS_DMA_ADDR24,
    BUS_DMA_ADDR31, BUS_DMA_ADDR32, and so forth.
						-Matt
    
    
More information about the Kernel
mailing list