19#define HIGH_PHYS_MASK 0x80000000
20#define PAGE_TABLE_MASK 0x3ff
21#define BIG_PAGE_SIZE (1<<22)
22#define CR4_PAGE_SIZE_BIT 0x10
23#define PDE_PRESENT_BIT 0x01
25#define PDE_PWT_BIT 0x08
26#define PDE_PCD_BIT 0x10
27#define PDE_ACCESSED_BIT 0x20
28#define PDE_DIRTY_BIT 0x40
29#define PDE_PS_BIT 0x80
31#define MI_KDBG_TMP_PAGE_1 (HYPER_SPACE + 0x400000 - PAGE_SIZE)
32#define MI_KDBG_TMP_PAGE_0 (MI_KDBG_TMP_PAGE_1 - PAGE_SIZE)
64 return VirtAddr + (PhysAddr & (
PAGE_SIZE - 1));
127 ((Addr >> 22) *
sizeof(
ULONG));
151 *ResultAddr = (PageTableEntry & ~(
PAGE_SIZE-1)) +
HARDWARE_PTE_ARMV6 TempPte
__INTRIN_INLINE unsigned long __readcr3(void)
__INTRIN_INLINE unsigned long __readcr4(void)
BOOLEAN NTAPI KdpSafeWriteMemory(ULONG_PTR Addr, LONG Len, ULONGLONG Value)
#define CR4_PAGE_SIZE_BIT
static VOID KdpPhysWrite(ULONG_PTR PhysAddr, LONG Len, ULONGLONG Value)
static BOOLEAN KdpTranslateAddress(ULONG_PTR Addr, PULONG_PTR ResultAddr)
#define MI_KDBG_TMP_PAGE_1
static ULONGLONG KdpPhysRead(ULONG_PTR PhysAddr, LONG Len)
static BOOLEAN KdpPhysAccess
BOOLEAN NTAPI KdpSafeReadMemory(ULONG_PTR Addr, LONG Len, PVOID Value)
VOID NTAPI KdpEnableSafeMem(VOID)
#define MI_KDBG_TMP_PAGE_0
static ULONG_PTR KdpPhysMap(ULONG_PTR PhysAddr, LONG Len)
#define memcpy(s1, s2, n)
#define MiAddressToPte(x)
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
FORCEINLINE VOID KeInvalidateTlbEntry(IN PVOID Address)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO