12 #define LOCAL_APIC_BASE 0xFFFFFFFFFFFE0000ULL
13 #define IOAPIC_BASE 0xFFFFFFFFFFFE1000ULL
16 #define APC_VECTOR 0x1F
17 #define DISPATCH_VECTOR 0x2F
18 #define CMCI_VECTOR 0x35
19 #define APIC_CLOCK_VECTOR 0xD1
20 #define CLOCK_IPI_VECTOR 0xD2
21 #define REBOOT_VECTOR 0xD7
22 #define STUB_VECTOR 0xD8
23 #define APIC_SPURIOUS_VECTOR 0xDF
24 #define APIC_IPI_VECTOR 0xE1
25 #define APIC_ERROR_VECTOR 0xE2
26 #define POWERFAIL_VECTOR 0xE3
27 #define APIC_PROFILE_VECTOR 0xFD
28 #define APIC_PERF_VECTOR 0xFE
29 #define APIC_NMI_VECTOR 0xFF
31 #define IrqlToTpr(Irql) (Irql << 4)
32 #define IrqlToSoftVector(Irql) ((Irql << 4)|0xf)
33 #define TprToIrql(Tpr) ((KIRQL)(Tpr >> 4))
34 #define CLOCK2_LEVEL CLOCK_LEVEL
36 #define LOCAL_APIC_BASE 0xFFFE0000
37 #define IOAPIC_BASE 0xFFFE1000
40 #define APIC_SPURIOUS_VECTOR 0x1f
41 #define APC_VECTOR 0x3D
42 #define DISPATCH_VECTOR 0x41
43 #define APIC_GENERIC_VECTOR 0xC1
44 #define APIC_CLOCK_VECTOR 0xD1
45 #define APIC_SYNCH_VECTOR 0xD1
46 #define CLOCK_IPI_VECTOR 0xD2
47 #define APIC_IPI_VECTOR 0xE1
48 #define APIC_ERROR_VECTOR 0xE3
49 #define POWERFAIL_VECTOR 0xEF
50 #define APIC_PROFILE_VECTOR 0xFD
51 #define APIC_PERF_VECTOR 0xFE
52 #define APIC_NMI_VECTOR 0xFF
54 #define IrqlToTpr(Irql) (HalpIRQLtoTPR[Irql])
55 #define IrqlToSoftVector(Irql) IrqlToTpr(Irql)
56 #define TprToIrql(Tpr) (HalVectorToIRQL[Tpr >> 4])
59#define APIC_MAX_IRQ 24
60#define APIC_FREE_VECTOR 0xFF
61#define APIC_RESERVED_VECTOR 0xFE
70#define IMCR_ADDRESS_PORT (PUCHAR)0x0022
71#define IMCR_DATA_PORT (PUCHAR)0x0023
72#define IMCR_SELECT 0x70
73#define IMCR_PIC_DIRECT 0x00
74#define IMCR_PIC_VIA_APIC 0x01
114#define MSR_APIC_BASE 0x0000001B
115#define IOAPIC_PHYS_BASE 0xFEC00000
116#define APIC_CLOCK_INDEX 8
117#define ApicLogicalId(Cpu) ((UCHAR)(1<< Cpu))
281#define IOAPIC_IOREGSEL 0x00
282#define IOAPIC_IOWIN 0x10
285#define IOAPIC_ID 0x00
286#define IOAPIC_VER 0x01
287#define IOAPIC_ARB 0x02
288#define IOAPIC_REDTBL 0x10
unsigned long long UINT64
VOID NTAPI HalInitializeProfiling(VOID)
@ APIC_DSH_AllIncludingSelf
@ APIC_DSH_AllExcludingSelf
union _LVT_REGISTER LVT_REGISTER
union _APIC_EXTENDED_CONTROL_REGISTER APIC_EXTENDED_CONTROL_REGISTER
enum _APIC_REGISTER APIC_REGISTER
VOID NTAPI ApicInitializeTimer(ULONG Cpu)
VOID __cdecl ApicSpuriousService(VOID)
union _APIC_INTERRUPT_COMMAND_REGISTER APIC_INTERRUPT_COMMAND_REGISTER
FORCEINLINE ULONG ApicRead(APIC_REGISTER Register)
union _APIC_BASE_ADDRESS_REGISTER APIC_BASE_ADDRESS_REGISTER
FORCEINLINE VOID ApicWrite(APIC_REGISTER Register, ULONG Value)
union _APIC_VERSION_REGISTER APIC_VERSION_REGISTER
union _APIC_SPURIOUS_INERRUPT_REGISTER APIC_SPURIOUS_INERRUPT_REGISTER
VOID NTAPI HalpInitApicInfo(IN PLOADER_PARAMETER_BLOCK KeLoaderBlock)
union _IOAPIC_REDIRECTION_REGISTER IOAPIC_REDIRECTION_REGISTER
#define WRITE_REGISTER_ULONG(r, v)
#define READ_REGISTER_ULONG(r)
PLOADER_PARAMETER_BLOCK KeLoaderBlock
UINT64 DestinationShortHand
UINT32 FocusCPUCoreChecking
UINT32 ExtRegSpacePresent
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value