Hello. For the long time dosemu used /dev/mem for vga pass-through. Now it appears /dev/mem has this check: http://lxr.free-electrons.com/source/drivers/char/mem.c#L51 which prevents an accesses to PCI memory regions if the "high_memory" points low enough. It seems "high_memory" just points to the end of the physical ram, so depending on the ram size you either can access PCI devices or you get EFAULT. Was it wrong to use /dev/mem for accessing the PCI devices? How should I do that now?
Note: I haven't properly tested that case. I can see the problem only under qemu, because all my machines has enough ram for the things to work. Still the failure under qemu makes me wonder if I should stop using /dev/mem for accessing PCI memory.