"Karaaslan, Utku" wrote: > > I have a problem: we've got a number of ADA applications which are > using direct memory access to certain hardware registers. Under > VxWorks, this is not a problem as it lacks kernelspace/userspace > separation. Under Linux, I know I can do direct memory access (through > /dev/mem), but in this case I want to use the applications as they are, > with no change to the ADA code. Is there any way to do physical memory > access transparently wrt the application? Many thanks in advance.
If you don't mind inserting some code into the application startup then you could probably do something with mmap(), either with /dev/mem or (safer) by writing your own kernel driver for the relevent hardware that supports mmap()ing just the relevent physical range into user-space (and makes it non-cacheable). It might be possible to use LD_PRELOAD to do this at startup without changing the application at all, although I suspect you might have to make some changes to get the address of the mmapped region - I'm not sure that you could guarantee to place it where you want in virtual memory. HTH, - Andrew -- The world is such a cheerful place when viewed from upside-down It makes a rise of every fall, a smile of every frown ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
