xref: /reactos/sdk/include/xdk/amd64/mm.h (revision c2c66aff)
1*c2c66affSColin Finck $if (_NTDDK_)
2*c2c66affSColin Finck 
3*c2c66affSColin Finck #define PTI_SHIFT  12L
4*c2c66affSColin Finck #define PDI_SHIFT  21L
5*c2c66affSColin Finck #define PPI_SHIFT  30L
6*c2c66affSColin Finck #define PXI_SHIFT  39L
7*c2c66affSColin Finck #define PTE_PER_PAGE 512
8*c2c66affSColin Finck #define PDE_PER_PAGE 512
9*c2c66affSColin Finck #define PPE_PER_PAGE 512
10*c2c66affSColin Finck #define PXE_PER_PAGE 512
11*c2c66affSColin Finck #define PTI_MASK_AMD64 (PTE_PER_PAGE - 1)
12*c2c66affSColin Finck #define PDI_MASK_AMD64 (PDE_PER_PAGE - 1)
13*c2c66affSColin Finck #define PPI_MASK (PPE_PER_PAGE - 1)
14*c2c66affSColin Finck #define PXI_MASK (PXE_PER_PAGE - 1)
15*c2c66affSColin Finck 
16*c2c66affSColin Finck #define PXE_BASE    0xFFFFF6FB7DBED000ULL
17*c2c66affSColin Finck #define PXE_SELFMAP 0xFFFFF6FB7DBEDF68ULL
18*c2c66affSColin Finck #define PPE_BASE    0xFFFFF6FB7DA00000ULL
19*c2c66affSColin Finck #define PDE_BASE    0xFFFFF6FB40000000ULL
20*c2c66affSColin Finck #define PTE_BASE    0xFFFFF68000000000ULL
21*c2c66affSColin Finck #define PXE_TOP     0xFFFFF6FB7DBEDFFFULL
22*c2c66affSColin Finck #define PPE_TOP     0xFFFFF6FB7DBFFFFFULL
23*c2c66affSColin Finck #define PDE_TOP     0xFFFFF6FB7FFFFFFFULL
24*c2c66affSColin Finck #define PTE_TOP     0xFFFFF6FFFFFFFFFFULL
25*c2c66affSColin Finck 
26*c2c66affSColin Finck extern NTKERNELAPI PVOID MmHighestUserAddress;
27*c2c66affSColin Finck extern NTKERNELAPI PVOID MmSystemRangeStart;
28*c2c66affSColin Finck extern NTKERNELAPI ULONG64 MmUserProbeAddress;
29*c2c66affSColin Finck 
30*c2c66affSColin Finck #define MM_HIGHEST_USER_ADDRESS MmHighestUserAddress
31*c2c66affSColin Finck #define MM_SYSTEM_RANGE_START MmSystemRangeStart
32*c2c66affSColin Finck #if defined(_LOCAL_COPY_USER_PROBE_ADDRESS_)
33*c2c66affSColin Finck #define MM_USER_PROBE_ADDRESS _LOCAL_COPY_USER_PROBE_ADDRESS_
34*c2c66affSColin Finck extern ULONG64 _LOCAL_COPY_USER_PROBE_ADDRESS_;
35*c2c66affSColin Finck #else
36*c2c66affSColin Finck #define MM_USER_PROBE_ADDRESS MmUserProbeAddress
37*c2c66affSColin Finck #endif
38*c2c66affSColin Finck #define MM_LOWEST_USER_ADDRESS (PVOID)0x10000
39*c2c66affSColin Finck #define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xFFFF080000000000ULL
40*c2c66affSColin Finck 
41*c2c66affSColin Finck $endif /* _NTDDK_ */
42