A free Windows-compatible Operating System - mirrored from GitHub
Find a file
ReactOS Portable Systems Group 71f2416876 Looks like this address space nonsense made even less sense than originally understood. The kernel address space was something created very early-on, and associated with a global variable
that actually contained the address space itself (so it wasn't part of any process). Its locks however, were associated to the "current process", which, when this function is called, is the
idle process (which later is cloned into the initial system process). Shortly thereafter, the address space of the "current process" (still, at this point, the idle process) was initialized
with the function reserved for real processes (MmInitializeProcessAddressSpace), which among other things, performed a couple of user-mode mappings (which are irrelevant and should not be
part of the system process address space). This created a weird schism: the kernel address space was actually a global variable associated with no process at all, while the kernel process
had its own address space as well (which was not the kernel address space). It's a miracle this didn't screw anything up especially since whether or not the address space has an owner
determined the lowest address (which means that if the kernel process allocated a memory with its *own* address space, the code would think it was a user-mode process).
This patch gets rid of the kernel address space as a static structure, and instead makes it a pointer into the idle/system process' address space. It also gets rid of MmInitializeKernelAddresSpace
and instead makes use of the existing MmInitializeHandBuiltProcess, cleaning up the user-mode allocations previously made. Even though all address spaces now have an owner and are part of a
process, MmGetAddressSpaceOwner will still return NULL for now, to remain backwards compatible with legacy code.


svn path=/trunk/; revision=34876
2008-07-28 00:43:57 +00:00
irc Change the logic and make the AnswerInPublic Command option opt-out instead of opt-in. Now everything except !help is allowed in public again (due to popular demand). 2008-06-25 14:13:21 +00:00
reactos Looks like this address space nonsense made even less sense than originally understood. The kernel address space was something created very early-on, and associated with a global variable 2008-07-28 00:43:57 +00:00
rosapps - Remove useless USE_W32API define from .rbuilds 2008-07-21 09:15:15 +00:00
rostests Commit my test suite I used for verifying the behaviours of wctomb, wcstombs and WideCharToMultiByte and writing the reimplementations for ReactOS on request of Stefan 2008-07-16 22:08:58 +00:00
wallpaper Re-add the "lake.bmp" wallpaper inclusion (partly imported from the deleted 0.3.1 branch, r26044) 2007-06-21 15:23:49 +00:00