[ros-dev] A slightly more aggressive mm patch
ionucu at videotron.ca
Mon Jan 29 06:42:47 CET 2007
art yerkes wrote:
> This removes the redundant notion of .Flags.Type in freelist, and leaves only
> the non-redundant MM_PHYSICAL_PAGE_BIOS. MM_PHYSICAL_PAGE_FREE is reported
> when the page has a 0 reference count and MM_PHYSICAL_PAGE_USED is reported
> when the reference count is nonzero.
> A function, MmGetPageType is added to replace the old functionality.
I get this on-boot during first-stage, before I even see the installer
(ntoskrnl\mm\freelist.c:816) Freeing page with flags 2
KeBugCheck at ntoskrnl\mm\freelist.c:817
*** Fatal System Error: 0x00000000
<ntoskrnl.exe:2722 (ntoskrnl/ke/bug.c:1089 (KeBugCheck))>
<ntoskrnl.exe:523fd (ntoskrnl/mm/freelist.c:817 (MmDereferencePage))>
<ntoskrnl.exe:8f110 (ntoskrnl/mm/i386/page.c:1022 (MmDeleteVirtualMapping))>
<ntoskrnl.exe:ab245 (ntoskrnl/io/iomgr/iomgr.c:512 (IoInitSystem))>
<ntoskrnl.exe:214e1 (ntoskrnl/ex/init.c:1168 (Phase1InitializationDiscard))>
<ntoskrnl.exe:21a1a (ntoskrnl/ex/init.c:1235 (Phase1Initialization))>
<ntoskrnl.exe:7b314 (ntoskrnl/ps/thread.c:158 (PspSystemThreadStartup))>
Does the old patch (already commited) conflict with this one?
> Init memory being freed seems to cause a lot of grief. I'm going to see if
> there's a way to decentralize how those pages are set up, given that the
> method used to dispose of them is spread out too.
I suggest disabling init memory freeing for now, I've slowly taken out
functions of INIT_FUNCTION for some time now, since I never really
trusted the system.
Project Lead, TinyKRNL
Kernel-Mode Software Design Engineer, ReactOS
More information about the Ros-dev