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
35 #define APIC_PROFILE_LEVEL PROFILE_LEVEL
37 #define LOCAL_APIC_BASE 0xFFFE0000
38 #define IOAPIC_BASE 0xFFFE1000
41 #define APIC_SPURIOUS_VECTOR 0x1f
42 #define APC_VECTOR 0x3D
43 #define DISPATCH_VECTOR 0x41
44 #define APIC_GENERIC_VECTOR 0xC1
45 #define APIC_CLOCK_VECTOR 0xD1
46 #define APIC_SYNCH_VECTOR 0xD1
47 #define CLOCK_IPI_VECTOR 0xD2
48 #define APIC_IPI_VECTOR 0xE1
49 #define APIC_ERROR_VECTOR 0xE3
50 #define POWERFAIL_VECTOR 0xEF
51 #define APIC_PROFILE_VECTOR 0xFD
52 #define APIC_PERF_VECTOR 0xFE
53 #define APIC_NMI_VECTOR 0xFF
55 #define IrqlToTpr(Irql) (HalpIRQLtoTPR[Irql])
56 #define IrqlToSoftVector(Irql) IrqlToTpr(Irql)
57 #define TprToIrql(Tpr) (HalVectorToIRQL[Tpr >> 4])
58 #define APIC_PROFILE_LEVEL HIGH_LEVEL
61#define APIC_MAX_IRQ 24
62#define APIC_FREE_VECTOR 0xFF
63#define APIC_RESERVED_VECTOR 0xFE
72#define IMCR_ADDRESS_PORT (PUCHAR)0x0022
73#define IMCR_DATA_PORT (PUCHAR)0x0023
74#define IMCR_SELECT 0x70
75#define IMCR_PIC_DIRECT 0x00
76#define IMCR_PIC_VIA_APIC 0x01
116#define MSR_APIC_BASE 0x0000001B
117#define IOAPIC_PHYS_BASE 0xFEC00000
118#define APIC_CLOCK_INDEX 8
119#define ApicLogicalId(Cpu) ((UCHAR)(1<< Cpu))
283#define IOAPIC_IOREGSEL 0x00
284#define IOAPIC_IOWIN 0x10
287#define IOAPIC_ID 0x00
288#define IOAPIC_VER 0x01
289#define IOAPIC_ARB 0x02
290#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