In ReceivePath of the packets  first Rx Buffers are allocated,
  and the  DMA address of this buffers is passed to the respective
hardware engine and we use virtual address  to pass it to
stack ( as a mblk) .
So in this case the  buffers  are allocated
using combination of ddi functions
1.ddi_dma_mem_alloc for allocating buffers.
2 .ddi_dma_addr_bind_handle for getting the physical ( DMA)
address of the buffers so that we can pass this to the
hardware .

To avoid all this if we can have a paging mechanism like
alloc_page , pci_map_page as in Linux . so that we can
alloc a page and pass the physical address to the hard ware .

I found out page_create as equivalent of alloc_page but
iam not sure of how to use it and how to map it so that
we can pass the DMA address to hardware .


Ramya
 
 
This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to