[NTOS]: Define the template prototype PTE.
authorSir Richard <sir_richard@svn.reactos.org>
Thu, 22 Jul 2010 20:47:28 +0000 (20:47 +0000)
committerSir Richard <sir_richard@svn.reactos.org>
Thu, 22 Jul 2010 20:47:28 +0000 (20:47 +0000)
svn path=/trunk/; revision=48199

reactos/ntoskrnl/mm/ARM3/i386/init.c
reactos/ntoskrnl/mm/ARM3/miarm.h

index a42a24e..06afaf2 100644 (file)
@@ -25,6 +25,9 @@ MMPTE ValidKernelPte = {.u.Hard.Valid = 1, .u.Hard.Write = 1, .u.Hard.Dirty = 1,
 /* Template PDE for a demand-zero page */
 MMPDE DemandZeroPde  = {.u.Long = (MM_READWRITE << MM_PTE_SOFTWARE_PROTECTION_BITS)};
 
 /* Template PDE for a demand-zero page */
 MMPDE DemandZeroPde  = {.u.Long = (MM_READWRITE << MM_PTE_SOFTWARE_PROTECTION_BITS)};
 
+/* Template PTE for prototype page */
+MMPTE PrototypePte = {.u.Long = (MM_READWRITE << MM_PTE_SOFTWARE_PROTECTION_BITS) | PTE_PROTOTYPE | 0xFFFFF000};
+                       
 /* PRIVATE FUNCTIONS **********************************************************/
 
 VOID
 /* PRIVATE FUNCTIONS **********************************************************/
 
 VOID
index a1ec45d..e7b22e2 100644 (file)
 #define PTE_WRITECOPY           0x200
 #define PTE_EXECUTE_READWRITE   0x0
 #define PTE_EXECUTE_WRITECOPY   0x200
 #define PTE_WRITECOPY           0x200
 #define PTE_EXECUTE_READWRITE   0x0
 #define PTE_EXECUTE_WRITECOPY   0x200
+#define PTE_PROTOTYPE           0x400
 //
 // Cache flags
 //
 //
 // Cache flags
 //
@@ -381,6 +382,7 @@ extern MMPTE HyperTemplatePte;
 extern MMPDE ValidKernelPde;
 extern MMPTE ValidKernelPte;
 extern MMPDE DemandZeroPde;
 extern MMPDE ValidKernelPde;
 extern MMPTE ValidKernelPte;
 extern MMPDE DemandZeroPde;
+extern MMPTE PrototypePte;
 extern BOOLEAN MmLargeSystemCache;
 extern BOOLEAN MmZeroPageFile;
 extern BOOLEAN MmProtectFreedNonPagedPool;
 extern BOOLEAN MmLargeSystemCache;
 extern BOOLEAN MmZeroPageFile;
 extern BOOLEAN MmProtectFreedNonPagedPool;
@@ -483,6 +485,7 @@ extern PVOID MiSessionImageEnd;
 extern PMMPTE MiHighestUserPte;
 extern PMMPDE MiHighestUserPde;
 extern PFN_NUMBER MmSystemPageDirectory[PD_COUNT];
 extern PMMPTE MiHighestUserPte;
 extern PMMPDE MiHighestUserPde;
 extern PFN_NUMBER MmSystemPageDirectory[PD_COUNT];
+extern PMMPTE MmSharedUserDataPte;
 
 #define MI_PFN_TO_PFNENTRY(x)     (&MmPfnDatabase[1][x])
 #define MI_PFNENTRY_TO_PFN(x)     (x - MmPfnDatabase[1])
 
 #define MI_PFN_TO_PFNENTRY(x)     (&MmPfnDatabase[1][x])
 #define MI_PFNENTRY_TO_PFN(x)     (x - MmPfnDatabase[1])