Testers: Please test this build.
authorSir Richard <sir_richard@svn.reactos.org>
Fri, 4 Jun 2010 17:49:36 +0000 (17:49 +0000)
committerSir Richard <sir_richard@svn.reactos.org>
Fri, 4 Jun 2010 17:49:36 +0000 (17:49 +0000)
commitd3c4ade827878c94026caeb8f114375fb08929cc
tree3fc7c2741a78dae68c15567063f9b60bd335e2dd
parent1c28c16dfefc01859a50ec1fb68e2ef0719720a4
Testers: Please test this build.
[NTOS]: Implement a MI_MAKE_HARDWARE_PTE macro for the generation of valid kernel PTEs instead of always taking the ValidKernelPte and changing its flags. This macro will take into account the protection mask (up until now ignored) and use the array previously implemented to determine the correct hardware PTE settings. Assertions are also added to validate correct usage of the macro, and later revisions will fill out NT-specific fields to help deal with transition PTEs, page faults, etc.
[NTOS]: Make the stack code the first user of this macro, for the stack PTEs. Good testing base as we create kernel stacks very often.
[NTOS]: The NT MM ABI specifies that in between the allocation of a new PTE and its initialization as a valid PFN, the PTE entry should be an invalid PTE, and should only be marked valid after the PFN has been initialized. For stack PTEs, do this -- first allocating the page, making it invalid, then initializing the PFN, and then writing the valid page.

svn path=/trunk/; revision=47571
reactos/ntoskrnl/mm/ARM3/miarm.h
reactos/ntoskrnl/mm/ARM3/procsup.c