Steve Finseth, “Abstracting device-driver development” (May 2004). Read the article here: www.eetimes.com/design/embedded/4024952/Abstracting-device-driver-development.
C code for VxWorks for a generic routine to convert an address as seen from the processor (local memory address) to the equivalent bus address. The input address is the address as seen by the CPU. The output address is the physical address a device would use to access the CPU address.
Also includes a routine to read an 8- and 32-bit data location in PCI I/O space and a routine to convert a bus address to the equivalent processor address. The routine would take as an input the bus address to convert from a device like a PCI BAR register of VME memory address and return an address the processor can use to access a given hardware bus address.