[ros-diffs] [fireball] 32471: - Do not *silently* hardcode USER_SHARED_DATA to physical page 2! It's purely FreeLdr's decision to place PCR on the page 1. Instead, rely on an assumption that shared data always follows PCR's page. NT relies on the same assumption.

fireball at svn.reactos.org fireball at svn.reactos.org
Sun Feb 24 19:03:17 CET 2008


Author: fireball
Date: Sun Feb 24 21:03:17 2008
New Revision: 32471

URL: http://svn.reactos.org/svn/reactos?rev=32471&view=rev
Log:
- Do not *silently* hardcode USER_SHARED_DATA to physical page 2! It's purely FreeLdr's decision to place PCR on the page 1. Instead, rely on an assumption that shared data always follows PCR's page. NT relies on the same assumption.

Modified:
    trunk/reactos/ntoskrnl/mm/mminit.c

Modified: trunk/reactos/ntoskrnl/mm/mminit.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/mminit.c?rev=32471&r1=32470&r2=32471&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/mm/mminit.c (original)
+++ trunk/reactos/ntoskrnl/mm/mminit.c Sun Feb 24 21:03:17 2008
@@ -182,7 +182,10 @@
                       TRUE,
                       0,
                       BoundaryAddressMultiple);
-   MmSharedDataPagePhysicalAddress.QuadPart = 2 << PAGE_SHIFT;
+
+   /* Shared data are always located the next page after PCR */
+   MmSharedDataPagePhysicalAddress = MmGetPhysicalAddress((PVOID)PCR);
+   MmSharedDataPagePhysicalAddress.QuadPart += PAGE_SIZE;
 
    /*
     *




More information about the Ros-diffs mailing list