test: datalpha.c Source File

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

# datalpha.c

Go to the documentation of this file.

    00001 /*++
    00002
    00003 Copyright (c) 1990  Microsoft Corporation
    00004 Copyright (c) 1992  Digital Equipment Corporation
    00005
    00006 Module Name:
    00007
    00008    dataalpha.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     Joe Notarangelo  23-April-1992
    00019
    00020 Revision History:
    00021
    00022 --*/
    00023
    00024 #include "mi.h"
    00025
    00026 //
    00027 // A zero Pte.
    00028 //
    00029
    00030 MMPTE ZeroPte = { 0 };
    00031
    00032 //
    00033 // A kernel zero PTE.
    00034 //
    00035
    00036 MMPTE ZeroKernelPte = { 0 };
    00037
    00038 MMPTE ValidKernelPte = { MM_PTE_VALID_MASK |
    00039                          MM_PTE_WRITE_MASK |
    00040                          MM_PTE_DIRTY_MASK |
    00041                          MM_PTE_GLOBAL_MASK };
    00042
    00043 MMPTE ValidKernelPteLocal = { MM_PTE_VALID_MASK |
    00044                               MM_PTE_WRITE_MASK |
    00045                               MM_PTE_DIRTY_MASK };
    00046
    00047 MMPTE ValidUserPte =   { MM_PTE_VALID_MASK |
    00048                          MM_PTE_WRITE_MASK |
    00049                          MM_PTE_OWNER_MASK |
    00050                          MM_PTE_DIRTY_MASK };
    00051
    00052 MMPTE ValidPtePte =   { MM_PTE_VALID_MASK |
    00053                         MM_PTE_WRITE_MASK |
    00054                         MM_PTE_DIRTY_MASK };
    00055
    00056 MMPTE ValidPdePde =   { MM_PTE_VALID_MASK |
    00057                         MM_PTE_WRITE_MASK |
    00058                         MM_PTE_DIRTY_MASK };
    00059
    00060 MMPTE ValidKernelPde =   { MM_PTE_VALID_MASK |
    00061                            MM_PTE_WRITE_MASK |
    00062                            MM_PTE_DIRTY_MASK |
    00063                            MM_PTE_GLOBAL_MASK };
    00064
    00065 MMPTE ValidKernelPdeLocal =   { MM_PTE_VALID_MASK |
    00066                                 MM_PTE_WRITE_MASK |
    00067                                 MM_PTE_DIRTY_MASK };
    00068
    00069 MMPTE DemandZeroPde = { MM_READWRITE << 3 };
    00070
    00071 MMPTE DemandZeroPte = { MM_READWRITE << 3 };
    00072
    00073 MMPTE TransitionPde = { MM_PTE_TRANSITION_MASK | (MM_READWRITE << 3) };
    00074
    00075 MMPTE PrototypePte = { 0xFFFFF000 | (MM_READWRITE << 3) | MM_PTE_PROTOTYPE_MASK };
    00076
    00077 //
    00078 // PTE which generates an access violation when referenced.
    00079 //
    00080
    00081 MMPTE NoAccessPte = {MM_NOACCESS << 3};
    00082
    00083 //
    00084 // Pool start and end.
    00085 //
    00086
    00087 PVOID MmNonPagedPoolStart;
    00088
    00089 PVOID MmNonPagedPoolEnd = (PVOID)(MM_NONPAGED_POOL_END);
    00090
    00091 PVOID MmPagedPoolStart =  (PVOID)(MM_PAGED_POOL_START);
    00092
    00093 PVOID MmPagedPoolEnd;
    00094
    00095 //
    00096 // PTE reserved for mapping physical data for debugger.
    00097 //
    00098
    00099 PMMPTE MmDebugPte =  MiGetPteAddress( 0xfffdf000 );
    00100
    00101 //
    00102 // 16 PTEs reserved for mapping MDLs (128k max).
    00103 //
    00104
    00105 PMMPTE MmCrashDumpPte = (MiGetPteAddress(MM_NONPAGED_POOL_END));
    00106
    00107
    00108 #if MM_MAXIMUM_NUMBER_OF_COLORS > 1
    00109 MMPFNLIST MmFreePagesByPrimaryColor[2][MM_MAXIMUM_NUMBER_OF_COLORS];
    00110 #endif
    00111
    00112 PMMCOLOR_TABLES MmFreePagesByColor[2];
    00113
    00114 MMPFNLIST MmModifiedPageListByColor[MM_MAXIMUM_NUMBER_OF_COLORS] = {
    00115                             0, ModifiedPageList, MM_EMPTY_LIST, MM_EMPTY_LIST};
    00116
    00117 ULONG MmSecondaryColorMask;
    00118
    00119 //
    00120 // Color tables for modified pages destined for the paging file.
    00121 //
    00122
    00123 ULONG MmTotalPagesForPagingFile;