Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

datappc.c

Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (c) 1990 Microsoft Corporation 00004 Copyright (c) 1993 IBM Corporation 00005 00006 Module Name: 00007 00008 datappc.c 00009 00010 Abstract: 00011 00012 This module contains the private hardware specific global storage for 00013 the memory management subsystem. 00014 00015 Author: 00016 00017 Lou Perazzoli (loup) 27-Mar-1990 00018 00019 Modified for PowerPC by Mark Mergen ([email protected]) 6-Oct-93 00020 00021 Revision History: 00022 00023 --*/ 00024 00025 #include "mi.h" 00026 00027 // 00028 // A zero Pte. 00029 // 00030 00031 MMPTE ZeroPte = { 0 }; 00032 00033 00034 // 00035 // A kernel zero PTE. 00036 // 00037 00038 MMPTE ZeroKernelPte = { 0 }; 00039 00040 00041 MMPTE ValidKernelPte = { MM_PTE_VALID_MASK | 00042 MM_PTE_WRITE_MASK }; 00043 00044 00045 MMPTE ValidUserPte = { MM_PTE_VALID_MASK | 00046 MM_PTE_WRITE_MASK }; 00047 00048 00049 MMPTE ValidPtePte = { MM_PTE_VALID_MASK | 00050 MM_PTE_WRITE_MASK }; 00051 00052 00053 MMPTE ValidPdePde = { MM_PTE_VALID_MASK | 00054 MM_PTE_WRITE_MASK }; 00055 00056 00057 MMPTE ValidKernelPde = { MM_PTE_VALID_MASK | 00058 MM_PTE_WRITE_MASK }; 00059 00060 00061 MMPTE DemandZeroPde = { MM_READWRITE << 3 }; 00062 00063 00064 MMPTE DemandZeroPte = { MM_READWRITE << 3 }; 00065 00066 00067 MMPTE TransitionPde = { MM_PTE_TRANSITION_MASK | (MM_READWRITE << 3) }; 00068 00069 00070 MMPTE PrototypePte = { 0xFFFFF000 | (MM_READWRITE << 3) | MM_PTE_PROTOTYPE_MASK }; 00071 00072 00073 // 00074 // PTE which generates an access violation when referenced. 00075 // 00076 00077 MMPTE NoAccessPte = {MM_NOACCESS << 3}; 00078 00079 00080 // 00081 // Pool start and end. 00082 // 00083 00084 PVOID MmNonPagedPoolStart; 00085 00086 PVOID MmNonPagedPoolEnd = ((PVOID)MM_NONPAGED_POOL_END); 00087 00088 PVOID MmPagedPoolStart = ((PVOID)MM_PAGED_POOL_START); 00089 00090 PVOID MmPagedPoolEnd; 00091 00092 #if MM_MAXIMUM_NUMBER_OF_COLORS > 1 00093 MMPFNLIST MmFreePagesByPrimaryColor[2][MM_MAXIMUM_NUMBER_OF_COLORS]; 00094 00095 MMPFNLIST MmStandbyPageListByColor[MM_MAXIMUM_NUMBER_OF_COLORS] = { 00096 0, StandbyPageList, MM_EMPTY_LIST, MM_EMPTY_LIST, 00097 0, StandbyPageList, MM_EMPTY_LIST, MM_EMPTY_LIST 00098 }; 00099 00100 00101 #endif 00102 00103 PMMCOLOR_TABLES MmFreePagesByColor[2]; 00104 00105 00106 // 00107 // Color tables for modified pages destined for the paging file. 00108 // 00109 00110 MMPFNLIST MmModifiedPageListByColor[MM_MAXIMUM_NUMBER_OF_COLORS] = { 00111 0, ModifiedPageList, MM_EMPTY_LIST, MM_EMPTY_LIST, 00112 0, ModifiedPageList, MM_EMPTY_LIST, MM_EMPTY_LIST}; 00113 00114 ULONG MmSecondaryColorMask; 00115 00116 // 00117 // Count of the number of modified pages destined for the paging file. 00118 // 00119 00120 ULONG MmTotalPagesForPagingFile = 0; 00121 00122 // 00123 // PTE reserved for mapping physical data for debugger. 00124 // Use 1 page from last 4MB of virtual address space 00125 // reserved for the HAL. 00126 // 00127 00128 PMMPTE MmDebugPte = (MiGetPteAddress((PVOID)MM_HAL_RESERVED)); 00129 00130 00131 // 00132 // 16 PTEs reserved for mapping MDLs (64k max). 00133 // 00134 00135 PMMPTE MmCrashDumpPte = (MiGetPteAddress((PVOID)MM_HAL_RESERVED)); 00136 

Generated on Sat May 15 19:39:38 2004 for test by doxygen 1.3.7