A free Windows-compatible Operating System - mirrored from GitHub
Go to file
Timo Kreuzer aac37d162e [FREELDR]
- Get rid of MmAllocateMemory, freeing about 1MB of low physical memory for the kernel
- verify that MmMarkPagesInLookupTable is not called with invalid page regions
- add maximum allocation to heap statistics

<long explanation>
There was a function called MmAllocateMemory, what was commented as "// Temporary forwarder..." since January 2008. This function allocated one page of memory and marked it as LoaderOsLoaderHeap. This function was used by the fat filesystem code (and linuxboot.c) which allocated and freed memory in small chunks all the time. Since MmFreeMemory() is not implemented at all (obviously someone removed it) we were allocating one full page for allocations as small as 8 bytes and never free them. This accumulated to a total of 240 pages, almost 1MB, split into into 14 chunks. This memory was never freed by the kernel (the kernel keeps the loader heap memory for some reason) and fragmented the low memory region.
Remove MmAllocateMemory completely and replace references in the fat code with MmHeapAlloc. The maximum heap usage after this was 184 KB, heap size is 4MB. 
</long explanation>

svn path=/trunk/; revision=53857
2011-09-25 19:19:50 +00:00
reactos [FREELDR] 2011-09-25 19:19:50 +00:00
rosapps [SYSTEMINFO] 2011-04-05 21:20:42 +00:00
rostests [user32_apitest] 2011-09-25 16:05:09 +00:00
wallpaper Rename the wallpaper to conform with ISO 9660:1988 and make cdmake happy... 2009-02-03 13:26:30 +00:00