Roman V. Shaposhnik wrote:
Personally, my experience of trying to use mmap() as a useful abstraction for the CPU's MMU was the last straw. It can't do even that reliably and in a portable fashion. Not to digress, but I was even more surprised to learn that there's not a single API on UNIX that can: http://thread.gmane.org/gmane.os.netbsd.devel.kernel/6392/focus=6457
Amen. I've had to get our OS team to shoehorn in some remap() calls that let me point two(many) virtual addresses to a common physical address. It's disgusting that the process for doing this with mmap requires /proc/#/mem and other scary things.
Does anyone have pointers to *nice* interfaces for doing this? I don't care which OS, but I'd like to not have the implementation I'm requesting suck because I missed some gotchas that someone else already hit.
Thanks, Paul