1 /******************************************************************************
2 * Kernel Debugger Types *
3 ******************************************************************************/
5 typedef struct _DEBUG_DEVICE_ADDRESS
{
9 PUCHAR TranslatedAddress
;
11 } DEBUG_DEVICE_ADDRESS
, *PDEBUG_DEVICE_ADDRESS
;
13 typedef struct _DEBUG_MEMORY_REQUIREMENTS
{
14 PHYSICAL_ADDRESS Start
;
15 PHYSICAL_ADDRESS MaxEnd
;
20 } DEBUG_MEMORY_REQUIREMENTS
, *PDEBUG_MEMORY_REQUIREMENTS
;
22 typedef struct _DEBUG_DEVICE_DESCRIPTOR
{
33 DEBUG_DEVICE_ADDRESS BaseAddress
[6];
34 DEBUG_MEMORY_REQUIREMENTS Memory
;
35 } DEBUG_DEVICE_DESCRIPTOR
, *PDEBUG_DEVICE_DESCRIPTOR
;
38 (NTAPI
*pKdSetupPciDeviceForDebugging
)(
39 _In_opt_ PVOID LoaderBlock
,
40 _Inout_ PDEBUG_DEVICE_DESCRIPTOR PciDevice
);
43 (NTAPI
*pKdReleasePciDeviceForDebugging
)(
44 _Inout_ PDEBUG_DEVICE_DESCRIPTOR PciDevice
);
47 (NTAPI
*pKdGetAcpiTablePhase0
)(
48 _In_
struct _LOADER_PARAMETER_BLOCK
*LoaderBlock
,
49 _In_ ULONG Signature
);
52 (NTAPI
*pKdCheckPowerButton
)(VOID
);
54 #if (NTDDI_VERSION >= NTDDI_VISTA)
56 (NTAPI
*pKdMapPhysicalMemory64
)(
57 _In_ PHYSICAL_ADDRESS PhysicalAddress
,
58 _In_ ULONG NumberPages
,
59 _In_ BOOLEAN FlushCurrentTLB
);
62 (NTAPI
*pKdUnmapVirtualAddress
)(
63 _In_ PVOID VirtualAddress
,
64 _In_ ULONG NumberPages
,
65 _In_ BOOLEAN FlushCurrentTLB
);
68 (NTAPI
*pKdMapPhysicalMemory64
)(
69 _In_ PHYSICAL_ADDRESS PhysicalAddress
,
70 _In_ ULONG NumberPages
);
73 (NTAPI
*pKdUnmapVirtualAddress
)(
74 _In_ PVOID VirtualAddress
,
75 _In_ ULONG NumberPages
);
79 (NTAPI
*pKdGetPciDataByOffset
)(
81 _In_ ULONG SlotNumber
,
82 _Out_writes_bytes_(Length
) PVOID Buffer
,
87 (NTAPI
*pKdSetPciDataByOffset
)(
89 _In_ ULONG SlotNumber
,
90 _In_reads_bytes_(Length
) PVOID Buffer
,