application needs fast access to physical memory
My application needs a fast way to access a specific physical DDR memory region. The application runs on an MPC8548 PowerPC which has an MMU. I've tried two approaches that are typical for Linux, mmap() and using a kernel module that implements read()/write() into this region and I'm finding that performance is very slow for both. It's a couple orders of magnitude slower than, for example, copying a large buffer from one place in the application's virtual memory to another place in the application's virtual memory.
I'm exploring other alternatives that includes:
1. Port to uClinux which may allow an application more direct access into kernel/physical memory
2. Modify the MMU somehow to allow access by the application to physical memory at a specific range of addresses
Both approaches appear to be fairly non-trivial. Is there another approach that should be considered?