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

Reply via email to