- Do not ignore BIOS memory map anymore. Private BIOS ranges (such as ACPI, SMBIOS...
authorAleksey Bragin <aleksey@reactos.org>
Sat, 25 Aug 2007 09:38:13 +0000 (09:38 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Sat, 25 Aug 2007 09:38:13 +0000 (09:38 +0000)
commit37ae229f62a13cee4681a9da25248e971c47c6d0
tree94cd1729ee52b4999eafb8a0baaa58a464bb837f
parent9ec7d785cb50d0b6b61c8c481c5b64a7a921e933
- Do not ignore BIOS memory map anymore. Private BIOS ranges (such as ACPI, SMBIOS, VideoROM, etc) are not assumed "free" anymore (which would result in hardware failure, crashes and/or corrupted memory).
- Enhance the FreeLDR 2 NTLDR Compatibility Layer:
 * Use a special routine for grabbing static memory descriptors, so that if we ever run out, we will bugcheck.
 * The descriptors need to contain physical addresses, not virtual. Do proper fixups to handle this.
 * Add a "Free" memory descriptor for all memory on the system. This needs to be fragmented later.
 * Add memory descriptors for each reserved entry in the BIOS memory map.
 * Add memory descriptors for the PDE and KPCR pages that FreeLDR allocates.
 * Add a memory descriptor for page 0, which is reserved.
 * Add a memory descriptor for the Video frame buffer at 0xA0000. This is the location on most systems, and also the location that ReactOS hard-codes in other Mm code.
- Bug found and NTLDR memory descriptor analysis by Alex.

svn path=/trunk/; revision=28537
reactos/boot/freeldr/freeldr/reactos/reactos.c
reactos/ntoskrnl/ke/freeldr.c
reactos/ntoskrnl/ke/i386/kiinit.c
reactos/ntoskrnl/mm/mminit.c