ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

pagepae.c File Reference
#include <ntoskrnl.h>
#include <debug.h>

Go to the source code of this file.

Defines

#define NDEBUG
#define PA_BIT_PRESENT   (0)
#define PA_BIT_READWRITE   (1)
#define PA_BIT_USER   (2)
#define PA_BIT_WT   (3)
#define PA_BIT_CD   (4)
#define PA_BIT_ACCESSED   (5)
#define PA_BIT_DIRTY   (6)
#define PA_BIT_GLOBAL   (8)
#define PA_PRESENT   (1 << PA_BIT_PRESENT)
#define PA_READWRITE   (1 << PA_BIT_READWRITE)
#define PA_USER   (1 << PA_BIT_USER)
#define PA_DIRTY   (1 << PA_BIT_DIRTY)
#define PA_WT   (1 << PA_BIT_WT)
#define PA_CD   (1 << PA_BIT_CD)
#define PA_ACCESSED   (1 << PA_BIT_ACCESSED)
#define PA_GLOBAL   (1 << PA_BIT_GLOBAL)
#define PAGETABLE_MAP   (0xc0000000)
#define PAGEDIRECTORY_MAP   (0xc0000000 + (PAGETABLE_MAP / (1024)))
#define PAE_PAGEDIRECTORY_MAP   (0xc0000000 + (PAGETABLE_MAP / (512)))
#define HYPERSPACE   (Ke386Pae ? 0xc0800000 : 0xc0400000)
#define IS_HYPERSPACE(v)   (((ULONG)(v) >= HYPERSPACE && (ULONG)(v) < HYPERSPACE + 0x400000))
#define PTE_TO_PFN(X)   ((X) >> PAGE_SHIFT)
#define PFN_TO_PTE(X)   ((X) << PAGE_SHIFT)
#define PAE_PTE_TO_PFN(X)   (PAE_PAGE_MASK(X) >> PAGE_SHIFT)
#define PAE_PFN_TO_PTE(X)   ((X) << PAGE_SHIFT)
#define ADDR_TO_PAGE_TABLE(v)   (((ULONG)(v)) / (1024 * PAGE_SIZE))
#define ADDR_TO_PDE(v)
#define ADDR_TO_PTE(v)   (PULONG)(PAGETABLE_MAP + ((((ULONG)(v) / 1024))&(~0x3)))
#define ADDR_TO_PDE_OFFSET(v)   ((((ULONG)(v)) / (1024 * PAGE_SIZE)))
#define ADDR_TO_PTE_OFFSET(v)   ((((ULONG)(v)) % (1024 * PAGE_SIZE)) / PAGE_SIZE)
#define PAE_ADDR_TO_PAGE_TABLE(v)   (((ULONG)(v)) / (512 * PAGE_SIZE))
#define PAE_ADDR_TO_PDE(v)
#define PAE_ADDR_TO_PTE(v)   (PULONGLONG) (PAGETABLE_MAP + ((((ULONG_PTR)(v) / 512))&(~0x7)))
#define PAE_ADDR_TO_PDTE_OFFSET(v)   (((ULONG_PTR)(v)) / (512 * 512 * PAGE_SIZE))
#define PAE_ADDR_TO_PDE_PAGE_OFFSET(v)   ((((ULONG_PTR)(v)) % (512 * 512 * PAGE_SIZE)) / (512 * PAGE_SIZE))
#define PAE_ADDR_TO_PDE_OFFSET(v)   (((ULONG_PTR)(v))/ (512 * PAGE_SIZE))
#define PAE_ADDR_TO_PTE_OFFSET(v)   ((((ULONG_PTR)(v)) % (512 * PAGE_SIZE)) / PAGE_SIZE)

Functions

__inline LARGE_INTEGER PTE_TO_PAGE (ULONG npage)
BOOLEAN MmUnmapPageTable (PULONG Pt)
ULONG_PTR NTAPI MiFlushTlbIpiRoutine (ULONG_PTR Address)
VOID MiFlushTlb (PULONG Pt, PVOID Address)
PULONG MmGetPageDirectory (VOID)
static ULONG ProtectToPTE (ULONG flProtect)
NTSTATUS NTAPI Mmi386ReleaseMmInfo (PEPROCESS Process)
NTSTATUS NTAPI MmInitializeHandBuiltProcess (IN PEPROCESS Process, IN PLARGE_INTEGER DirectoryTableBase)
BOOLEAN NTAPI MmCreateProcessAddressSpace (IN ULONG MinWs, IN PEPROCESS Process, IN PLARGE_INTEGER DirectoryTableBase)
VOID NTAPI MmDeletePageTable (PEPROCESS Process, PVOID Address)
VOID NTAPI MmFreePageTable (PEPROCESS Process, PVOID Address)
static PULONGLONG MmGetPageTableForProcessForPAE (PEPROCESS Process, PVOID Address, BOOLEAN Create)
static PULONG MmGetPageTableForProcess (PEPROCESS Process, PVOID Address, BOOLEAN Create)
static ULONGLONG MmGetPageEntryForProcessForPAE (PEPROCESS Process, PVOID Address)
static ULONG MmGetPageEntryForProcess (PEPROCESS Process, PVOID Address)
PFN_NUMBER NTAPI MmGetPfnForProcess (PEPROCESS Process, PVOID Address)
VOID NTAPI MmDisableVirtualMapping (PEPROCESS Process, PVOID Address, BOOLEAN *WasDirty, PPFN_NUMBER Page)
VOID NTAPI MmRawDeleteVirtualMapping (PVOID Address)
VOID NTAPI MmDeleteVirtualMapping (PEPROCESS Process, PVOID Address, BOOLEAN FreePage, BOOLEAN *WasDirty, PPFN_NUMBER Page)
VOID NTAPI MmDeletePageFileMapping (PEPROCESS Process, PVOID Address, SWAPENTRY *SwapEntry)
BOOLEAN Mmi386MakeKernelPageTableGlobal (PVOID PAddress)
BOOLEAN NTAPI MmIsDirtyPage (PEPROCESS Process, PVOID Address)
BOOLEAN NTAPI MmIsAccessedAndResetAccessPage (PEPROCESS Process, PVOID Address)
VOID NTAPI MmSetCleanPage (PEPROCESS Process, PVOID Address)
VOID NTAPI MmSetDirtyPage (PEPROCESS Process, PVOID Address)
VOID NTAPI MmEnableVirtualMapping (PEPROCESS Process, PVOID Address)
BOOLEAN NTAPI MmIsPagePresent (PEPROCESS Process, PVOID Address)
BOOLEAN NTAPI MmIsPageSwapEntry (PEPROCESS Process, PVOID Address)
NTSTATUS NTAPI MmCreateVirtualMappingForKernel (PVOID Address, ULONG flProtect, PPFN_NUMBER Pages, ULONG PageCount)
NTSTATUS NTAPI MmCreatePageFileMapping (PEPROCESS Process, PVOID Address, SWAPENTRY SwapEntry)
NTSTATUS NTAPI MmCreateVirtualMappingUnsafe (PEPROCESS Process, PVOID Address, ULONG flProtect, PPFN_NUMBER Pages, ULONG PageCount)
NTSTATUS NTAPI MmCreateVirtualMapping (PEPROCESS Process, PVOID Address, ULONG flProtect, PPFN_NUMBER Pages, ULONG PageCount)
ULONG NTAPI MmGetPageProtect (PEPROCESS Process, PVOID Address)
VOID NTAPI MmSetPageProtect (PEPROCESS Process, PVOID Address, ULONG flProtect)
PHYSICAL_ADDRESS NTAPI MmGetPhysicalAddress (PVOID vaddr)
PVOID NTAPI MmCreateHyperspaceMapping (PFN_NUMBER Page)
PFN_NUMBER NTAPI MmChangeHyperspaceMapping (PVOID Address, PFN_NUMBER NewPage)
PFN_NUMBER NTAPI MmDeleteHyperspaceMapping (PVOID Address)
VOID NTAPI MmUpdatePageDir (PEPROCESS Process, PVOID Address, ULONG Size)
VOID INIT_FUNCTION NTAPI MmInitGlobalKernelPageDirectory (VOID)
ULONG NTAPI MiGetUserPageDirectoryCount (VOID)
VOID INIT_FUNCTION NTAPI MiInitPageDirectoryMap (VOID)

Variables

ULONG MmGlobalKernelPageDirectory [1024]
ULONGLONG MmGlobalKernelPageDirectoryForPAE [2048]
BOOLEAN Ke386Pae
BOOLEAN Ke386NoExecute

Generated on Sat May 26 2012 06:07:40 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.