|
ReactOS 0.4.16-dev-1946-g52006dd
|
#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(), MmMapLockedPagesWithReservedMapping(), MmSetPageProtect(), MmUnmapReservedMapping(), NtAllocateVirtualMemory(), and WinLdrMapSpecialPages().