ppc405 dma - vm - cache question
Smith, Gene
gene.smith at siemens.com
Tue Oct 26 22:55:36 UTC 2004
I have a question for ppc experts in rtems land. I am trying to port the
emac ethernet driver from netbsd to rtems. In the driver code I see all
kinds of calls to things like this:
bus_dmamap_create();
bus_dmamem_alloc();
bus_dmamap_load();
bus_dmamap_sync(); <-- called a lot in tx/rx ISRs.
I think that these are used to reconcile virtual memory in unix to
physical memory addressed by devices (emac or mal device on ppc405). My
assumption is that in rtems I can pretty much ignore these or make my
own versions since rtems always uses real mode; anywhere memory is
needed for dma purposes by the ethernet device and/or driver I can just
malloc it and use the returned address for dma verbatim.
Does this sound reasonable or am I missing something here?
For reference, the best documentation I have found on these BSD style
calls is here:
http://mirbsd.bsdadvocacy.org/cman/man9/bus_dmamap_sync.htm
Thanks,
-gene
More information about the users
mailing list