Fully working x86 paging support!
authorAlex Ionescu <aionescu@gmail.com>
Wed, 10 May 2017 14:38:34 +0000 (14:38 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Wed, 10 May 2017 14:38:34 +0000 (14:38 +0000)
commit676adf3c062dda1dacf10729c989fc9efb36c92c
treed7c2ba806adbf897eede657fe73de64000c9bb79
parenta366e71f50b70890ff5cea3f618b6aabaf4ffca4
Fully working x86 paging support!
[BOOTLIB]: Fix a critical bug in BlpArchSwitchContext which was not switching to Firmware mode once paging was enabled.
[BOOTLIB]: Fix a critical bug in OslMain which was incorrectly setting BL_LIBRARY_INITIALIZATION_COMPLETED instead of BL_LIBRARY_FLAG_REINITIALIZE_ALL and causing all sorts of failure paths.
[BOOTLIB]: MmDefInitializeTranslation now turns on paging.
[BOOTLIB]: Implement TrpGenerateMappingTracker and BlpArchEnableTranslation
[BOOTLIB]: BlMmMapPhysicalAddressEx now works with paging enabled, and correctly finds mapped memory to use from the virtual MDLs.
[BOOTLIB]: MmPapAllocateRegionFromMdl now handles virtual allocations from MmMdlMappedUnallocated.
[BOOTLIB]: MmPapAllocatePagesInRange now handles BlMemoryKernelRange (KSEG0) allocations.
[BOOTLIB]: MmMdFindSatisfyingRegion now handles virtual descriptors as well, and handles alignment better.

svn path=/trunk/; revision=74519
reactos/boot/environ/app/rosload/rosload.c
reactos/boot/environ/include/bl.h
reactos/boot/environ/lib/arch/i386/arch.c
reactos/boot/environ/lib/mm/descriptor.c
reactos/boot/environ/lib/mm/i386/mmx86.c
reactos/boot/environ/lib/mm/mm.c
reactos/boot/environ/lib/mm/pagealloc.c