[ros-diffs] [sginsberg] 42221: - Fix memory leak from r42218 ;0)
sginsberg at svn.reactos.org
sginsberg at svn.reactos.org
Sun Jul 26 00:19:45 CEST 2009
- Previous message: [ros-diffs] [ros-arm-bringup] 42220: - This is a HIGH RISK patch. It has been tested on multiple emulators and configurations but requires broader input. - Implement several changes to PFN database management: - The PTEs for the PFN Database are now created by ARM3. Unlike the old code which create PTE for every page on the machine, ARM3 only creates PTEs to account for pages that should be in the PFN database. - A second related change is what "pages should be in the PFN database". Previously, reserved or otherwise non-existing (ie: holes) memory regions would get a PFN entry created and marked as "BIOS". This is wasteful and not compatible with Windows: there should not be PFN entries created at all. - So we removed BIOS PFN entries, and now only create PTEs for valid pages as listed in the physical memory ranges. - This allows machines with "holes" in their physical address space not to waste dozens of MBs of nonpaged pool - Also saves memory on regular machines too, since 1-4MB worth of memory will now not be in the DB anymore - To keep track of pages that are invalid/unknown/ignored, there is now a "PFN Bitmap". This bitmap has one bit set for each valid PFN in the database. - And so, MiGetPfnEntry now also validates that, if there is a PFN Bitmap, the requested PFN is actually present in the database. - This introduces a major functional change: device pages, reserved pages, and other BIOS pages cannot be referenced, shared, or managed in any meaningful way. - We have attempted to fix parts of the OS that depended on this, but there may still be bugs. - A known issue may be an assertion during reboot and/or shutdown in the hyperspace mapping function. It is currently safe to simply "cont" in the debugger a couple of times. - We are working on a fix.
- Next message: [ros-diffs] [tkreuzer] 42222: Add hack for gnu ld like in mingw lib, as it uses _image_base__ insetad of __ImageBase
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: sginsberg
Date: Sun Jul 26 00:19:45 2009
New Revision: 42221
URL: http://svn.reactos.org/svn/reactos?rev=42221&view=rev
Log:
- Fix memory leak from r42218 ;0)
Modified:
trunk/reactos/boot/freeldr/freeldr/video/fade.c
Modified: trunk/reactos/boot/freeldr/freeldr/video/fade.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/video/fade.c?rev=42221&r1=42220&r2=42221&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/video/fade.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/video/fade.c [iso-8859-1] Sun Jul 26 00:19:45 2009
@@ -90,6 +90,8 @@
MachVideoSetPaletteColor(Color, PaletteColors[Color].Red, PaletteColors[Color].Green, PaletteColors[Color].Blue);
}
}
+
+ MmHeapFree(PaletteColors);
}
VOID VideoFadeOut(ULONG ColorCount)
- Previous message: [ros-diffs] [ros-arm-bringup] 42220: - This is a HIGH RISK patch. It has been tested on multiple emulators and configurations but requires broader input. - Implement several changes to PFN database management: - The PTEs for the PFN Database are now created by ARM3. Unlike the old code which create PTE for every page on the machine, ARM3 only creates PTEs to account for pages that should be in the PFN database. - A second related change is what "pages should be in the PFN database". Previously, reserved or otherwise non-existing (ie: holes) memory regions would get a PFN entry created and marked as "BIOS". This is wasteful and not compatible with Windows: there should not be PFN entries created at all. - So we removed BIOS PFN entries, and now only create PTEs for valid pages as listed in the physical memory ranges. - This allows machines with "holes" in their physical address space not to waste dozens of MBs of nonpaged pool - Also saves memory on regular machines too, since 1-4MB worth of memory will now not be in the DB anymore - To keep track of pages that are invalid/unknown/ignored, there is now a "PFN Bitmap". This bitmap has one bit set for each valid PFN in the database. - And so, MiGetPfnEntry now also validates that, if there is a PFN Bitmap, the requested PFN is actually present in the database. - This introduces a major functional change: device pages, reserved pages, and other BIOS pages cannot be referenced, shared, or managed in any meaningful way. - We have attempted to fix parts of the OS that depended on this, but there may still be bugs. - A known issue may be an assertion during reboot and/or shutdown in the hyperspace mapping function. It is currently safe to simply "cont" in the debugger a couple of times. - We are working on a fix.
- Next message: [ros-diffs] [tkreuzer] 42222: Add hack for gnu ld like in mingw lib, as it uses _image_base__ insetad of __ImageBase
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Ros-diffs
mailing list