[NTOS:MM] MI_IS_*(): Improve documentation Intel 64 and IA-32 Architectures Software Developer’s Manual version 075 (June 2021)
[NTOS:MM] Add a few MiP*eToP*e helpers And turn some of the existing ones into inline functions for the sake of type checking
[NTOS:MM] MiIsPdeForAddressValid is NOT an INIT function!
[REACTOS] Addendum to 5c7ce4475e246560d1622b8cc60dc603e3955f66 - Fix MSVC 2015 build Put data into PAGEDATA or INITDATA sections Keep section declaration for prototypes CORE-17540
[NTOS:MM] Share "page.c" between i386 & amd64 builds
[REACTOS] Cleanup INIT and some PAGE section allocations - Change INIT_FUNCTION and INIT_SECTION to CODE_SEG("INIT") and DATA_SEG("INIT") respectively - Remove INIT_FUNCTION from function prototypes - Remove alloc_text pragma calls as they are not needed anymore
[NTOS:MM:X64] Fix session space initialization on x64
[NTOS:MM] Fix MiSubsectionPteToSubsection
[NTOS:MM] Make the definitions and macros for x86 more human-readable. (#2487) - Move also PDE_MAPPED_VA definition from common miarm.h to ..arch/mm.h. - Add assert "PAE not yet implemented".
[NTOS] Move FORCEINLINE specifier where appropriate
[NTOS:Mm] Rewrite MiWriteProtectSystemImage (#749) * The previous version was overcomplicated and broken and therefore disabled. * The new version also enforces NX protection on x64. * Now that protecting works, also protect the boot loaded images.
[NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) * Add an NDK header to define INIT_FUNCTION/INIT_SECTION globally * Use _declspec(allocate(x)) and _declspec(code_seg(x)) on MSVC versions that support it * Use INIT_FUNCTION on functions only and INIT_SECTION on data only (required by MSVC) * Place INIT_FUNCTION before the return type (required by MSVC) * Make sure declarations and implementations share the same modifiers (required by MSVC) * Add a global linker option to suppress warnings about defined but unused INIT section * Merge INIT section into .text in freeldr
[NTOS] Fix 64 bit issues
[NTOS:MM] Make x64 address space layout more like Vista+ - Change MM_SYSTEM_SPACE_START to 0xFFFFF88000000000 - Move MI_DEBUG_MAPPING to the end of the system PTE range - Add MI_SYSTEM_CACHE_START and MI_SYSTEM_CACHE_END, which is in the range that Vista uses as dynamic VA space for cache and other allocations - Wrap x86 specific code that makes now invalid assumptions about the address space layout in #ifdef _M_IX86
[NTOS:MM] Add support for NX page-faults
[NTOS:MM] Make use of FaultCode and MI_IS_NOT_PRESENT_FAULT and MI_IS_WRITE_ACCESS macros in MmArmAccessFault.
[NTOS:MM] Pass page fault code to MmAccessFault Note: before we had a BOOLEAN parameter called StoreInstruction, but in reality it was not specifying whether the fault was from a store store instruction, but whether it was an access violation rather than a page-not-present fault. On x86 without PAE there are only 2 kinds of access violations: (1) Access of a kernel mode page from user mode, which is handled early and (2) access of a read-only (or COW) page with a writing instruction. Therefore we could get away with this, even though it relied on the wrong assumption that a fault, which was not a page-not-present-fault, was automatically a write access. This commit only changes one thing: we pass the full fault-code to MmAccessFault and handle the rest from there in exactly the same way as before. More changes are coming to make things clear.
[NTOS:MM] Implement x64 version of MI_MAKE_SUBSECTION_PTE
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.