ReactOS 0.4.16-dev-257-g6aa11ac
|
#include <freeldr.h>
#include <debug.h>
#include <internal/arm/mm.h>
#include <internal/arm/intrin_i.h>
#include "../../winldr.h"
Go to the source code of this file.
Classes | |
struct | _KPDR_PAGE |
Macros | |
#define | PFN_SHIFT 12 |
#define | LARGE_PFN_SHIFT 20 |
#define | PTE_BASE 0xC0000000 |
#define | PDE_BASE 0xC0400000 |
#define | PDR_BASE 0xFFD00000 |
#define | VECTOR_BASE 0xFFFF0000 |
#define | IDMAP_BASE 0x00000000 |
#define | MMIO_BASE 0x10000000 |
#define | LowMemPageTableIndex (IDMAP_BASE >> PDE_SHIFT) |
#define | MmioPageTableIndex (MMIO_BASE >> PDE_SHIFT) |
#define | KernelPageTableIndex (KSEG0_BASE >> PDE_SHIFT) |
#define | StartupPtePageTableIndex (PTE_BASE >> PDE_SHIFT) |
#define | StartupPdePageTableIndex (PDE_BASE >> PDE_SHIFT) |
#define | PdrPageTableIndex (PDR_BASE >> PDE_SHIFT) |
#define | VectorPageTableIndex (VECTOR_BASE >> PDE_SHIFT) |
#define | PaToPfn(p) ((p) >> PFN_SHIFT) |
#define | PaToLargePfn(p) ((p) >> LARGE_PFN_SHIFT) |
#define | PaPtrToPfn(p) (((ULONG_PTR)(p)) >> PFN_SHIFT) |
#define | PaPtrToPdePfn(p) (((ULONG_PTR)(p)) >> CPT_SHIFT) |
Typedefs | |
typedef struct _KPDR_PAGE | KPDR_PAGE |
typedef struct _KPDR_PAGE * | PKPDR_PAGE |
Functions | |
C_ASSERT (sizeof(KPDR_PAGE)==(1 *1024 *1024)) | |
BOOLEAN | MempSetupPaging (IN PFN_NUMBER StartPage, IN PFN_NUMBER NumberOfPages, IN BOOLEAN KernelMapping) |
VOID | MempUnmapPage (IN PFN_NUMBER Page) |
VOID | MempDump (VOID) |
static BOOLEAN | WinLdrMapSpecialPages (ULONG PcrBasePage) |
VOID | WinLdrSetupForNt (IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN PVOID *GdtIdt, IN PULONG PcrBasePage, IN PULONG TssBasePage) |
static BOOLEAN | MempAllocatePageTables (VOID) |
VOID | WinLdrSetProcessorContext (_In_ USHORT OperatingSystemVersion) |
VOID | WinLdrSetupMachineDependent (PLOADER_PARAMETER_BLOCK LoaderBlock) |
#define KernelPageTableIndex (KSEG0_BASE >> PDE_SHIFT) |
#define LowMemPageTableIndex (IDMAP_BASE >> PDE_SHIFT) |
#define VectorPageTableIndex (VECTOR_BASE >> PDE_SHIFT) |
typedef struct _KPDR_PAGE KPDR_PAGE |
typedef struct _KPDR_PAGE * PKPDR_PAGE |
Definition at line 198 of file winldr.c.
BOOLEAN MempSetupPaging | ( | IN PFN_NUMBER | StartPage, |
IN PFN_NUMBER | NumberOfPages, | ||
IN BOOLEAN | KernelMapping | ||
) |
VOID MempUnmapPage | ( | IN PFN_NUMBER | Page | ) |
Definition at line 105 of file winldr.c.
Definition at line 252 of file winldr.c.
VOID WinLdrSetupForNt | ( | IN PLOADER_PARAMETER_BLOCK | LoaderBlock, |
IN PVOID * | GdtIdt, | ||
IN PULONG | PcrBasePage, | ||
IN PULONG | TssBasePage | ||
) |
Definition at line 167 of file winldr.c.
VOID WinLdrSetupMachineDependent | ( | PLOADER_PARAMETER_BLOCK | LoaderBlock | ) |
Definition at line 43 of file winldr.c.
Referenced by MempAllocatePageTables().
Definition at line 42 of file winldr.c.
Referenced by MempAllocatePageTables().
PKPDR_PAGE PdrPage |
Definition at line 79 of file winldr.c.
Referenced by MempAllocatePageTables(), WinLdrMapSpecialPages(), WinLdrSetProcessorContext(), and WinLdrSetupForNt().
HARDWARE_LARGE_PTE_ARMV6 TempLargePte |
Definition at line 77 of file winldr.c.
Referenced by MempAllocatePageTables(), and WinLdrMapSpecialPages().
HARDWARE_PDE_ARMV6 TempPde |
Definition at line 78 of file winldr.c.
Referenced by MempAllocatePageTables(), MI_WRITE_VALID_PDE(), MiAllocatePoolPages(), MiBuildPagedPool(), MiFillSystemPageDirectory(), MiGetPageTableForProcess(), MiInitializeAndChargePfn(), MiInitMachineDependent(), MiSessionCommitPageTables(), MiSessionCreateInternal(), MiSessionInitializeWorkingSetList(), MmCreateProcessAddressSpace(), MmGetPhysicalAddress(), and WinLdrMapSpecialPages().
HARDWARE_PTE_ARMV6 TempPte |
Definition at line 76 of file winldr.c.
Referenced by _IRQL_requires_max_(), GetFreeWsleIndex(), KdpPhysMap(), MempAllocatePageTables(), MI_UPDATE_VALID_PTE(), MI_WRITE_VALID_PTE(), MiAccessCheck(), MiAddMappedPtes(), MiAllocatePoolPages(), MiArchCreateProcessAddressSpace(), MiBuildPagedPool(), MiCompleteProtoPteFault(), MiCopyPfn(), MiCreatePagingFileMap(), MiDbgTranslatePhysicalAddress(), MiDecrementShareCount(), MiDeletePte(), MiDeleteVirtualAddresses(), MiDetermineUserGlobalPteMask(), MiDispatchFault(), MiFlushTbAndCapture(), MiGetPageProtection(), MiGetPageTableForProcess(), MiInitializeColorTables(), MiInitializePfnAndMakePteValid(), MiInitMachineDependent(), MiLoadImageSection(), MiMapLockedPagesInUserSpace(), MiMapPageInHyperSpace(), MiMapPagesInZeroSpace(), MiMapPfnDatabase(), MiMapViewOfDataSection(), MiProcessValidPteList(), MiProtectFreeNonPagedPool(), MiQueryAddressState(), MiReloadBootLoadedDrivers(), MiResolveDemandZeroFault(), MiResolvePageFileFault(), MiResolveProtoPteFault(), MiResolveTransitionFault(), MiSegmentDelete(), MiSessionCreateInternal(), MiSessionInitializeWorkingSetList(), MiSetSystemCodeProtection(), MiUnProtectFreeNonPagedPool(), MiZeroPfn(), MmAllocateNonCachedMemory(), MmAllocateSpecialPool(), MmArmAccessFault(), MmArmInitSystem(), MmChangeKernelResourceSectionProtection(), MmCommitSessionMappedView(), MmCreateKernelStack(), MmCreateVirtualMappingInternal(), MmCreateVirtualMappingUnsafeEx(), MmGetPhysicalAddress(), MmGrowKernelStackEx(), MmInitSystem(), MmMapIoSpace(), MmMapLockedPagesSpecifyCache(), MmSetPageProtect(), NtAllocateVirtualMemory(), and WinLdrMapSpecialPages().