On 3 May 2012 16:59, Stas Sergeev wrote: > Oh, and please recall the fact that most DPMI clients > do not like pointers with bit 31 set, so MAP_32BIT is not > even the reliable solution. I'd really rather get rid of it forever.
There are three things here: 1. MAP_32BIT should really have been called MAP_31BIT (see the man page), so it already has bit 32 0. 2. But it's a no-op for 32 bit DOSEMU, so to force first the 2GB for 32-bit DOSEMU you need to give mmap() a hint like for dpmi_base, so mmap will look for a VMA that is closeby. 3. Though I suspect but am not sure that in this case high addresses are not a problem in this case because real DOS DPMI servers without paging would just have virtual address = hardware address, and the hardware address is often very high, like 0xe0000000 for LFBs. Mainly the MAP_32BIT is just there because during the x86-64 port work is was by far the most straightforward way of getting things working. Bart ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Dosemu-devel mailing list Dosemu-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dosemu-devel