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]
