According to http://msdn2.microsoft.com/en-gb/library/aa366912.aspx
The range 3GB (0xC0000000) - 4GB (0xFFFFFFFF) is considered system memory and apps should not write here (not sure why you would want to read from there either).
But Wine tries to mmap this range (on Mac OSX at least)
I was wondering why this is? Should this range just be left as it is? -- is there a reason to mmap this range?
Any ideas?
for reference -- this mmap is spurred from libs/wine/mmap.c:356 (mmap_init)
- Nick
"Nick Burns" adger44@hotmail.com writes:
The range 3GB (0xC0000000) - 4GB (0xFFFFFFFF) is considered system memory and apps should not write here (not sure why you would want to read from there either).
But Wine tries to mmap this range (on Mac OSX at least)
I was wondering why this is? Should this range just be left as it is? -- is there a reason to mmap this range?
Yes, it's to prevent things like builtin libraries from being mapped there, since it's a range the Window apps don't expect to see.
Ok that is understandable -- but if wine takes up the entire 4gb address space -- where are builtin libs supposed to live ((be mapped)/alloc to)?
(im assuming that opengl is a builtin lib -- in this context)
In my case If I let wine take up my entire address space -- libraries (like opengl) will get angry when it can no longer allocate memory (like for textures, bufer objects, contexts, various random temporary allocations, etc... )
Why not let builtin libs (like opengl) use that 3gb -> 4gb space (since wine does not use it)?
But maybe that would cause problems if builtin libs returned addresses in that space? (not sure)
- Nick
From: Alexandre Julliard julliard@winehq.org To: "Nick Burns" adger44@hotmail.com CC: wine-devel@winehq.com Subject: Re: Wine 32-bit address space Date: Mon, 01 Jan 2007 11:29:51 +0100
"Nick Burns" adger44@hotmail.com writes:
The range 3GB (0xC0000000) - 4GB (0xFFFFFFFF) is considered system memory and apps should not write here (not sure why you would want to read from there either).
But Wine tries to mmap this range (on Mac OSX at least)
I was wondering why this is? Should this range just be left as it is? -- is there a reason to mmap this range?
Yes, it's to prevent things like builtin libraries from being mapped there, since it's a range the Window apps don't expect to see.
-- Alexandre Julliard julliard@winehq.org
"Nick Burns" adger44@hotmail.com writes:
Ok that is understandable -- but if wine takes up the entire 4gb address space -- where are builtin libs supposed to live ((be mapped)/alloc to)?
There is free space between 0x60000000 and 0x80000000.
Why not let builtin libs (like opengl) use that 3gb -> 4gb space (since wine does not use it)?
But maybe that would cause problems if builtin libs returned addresses in that space? (not sure)
Yes, it would.