Kernel32: 3GB UserSpace boot option

Stefan Reimer lists at
Thu Oct 16 10:39:40 CDT 2008

compiling binaries with the LARGE_ADDRESS_AWARE flag set is not enough to
be able to use more than 2GB user space.
To behave like WindowsXP booted with the /3GB option, at least the
lpMaximumApplicationAddress in GetSystemInfo has to be changed to
0xBFFEFFFF and the virtual user space has to be reserved in mmap_init in
mmap.c up to that address.

See Windows memory management:

I am quite sure that my proposed hack is not complete to behave like the
/3GB option, but as stated in cpu.c
384         /* FIXME: the two entries below should be computed somehow... */
385         cachedsi.lpMinimumApplicationAddress    = (void *)0x00010000;
386         cachedsi.lpMaximumApplicationAddress    = (void *)0x7FFEFFFF;

we should look at this in order to be able to use more than 2GB user space
for apps that need it.

Stefan Reimer

More information about the wine-devel mailing list