22 #define APIC_LAZY_IRQL 152 ULONG IrrBit = 1
UL << VectorLow;
209 return (
KIRQL)__readcr8();
210 #elif defined(APIC_LAZY_IRQL) 225 #elif defined(APIC_LAZY_IRQL) 232 #define ApicRaiseIrql ApicSetIrql 234 #ifdef APIC_LAZY_IRQL 252 #define ApicLowerIrql ApicSetIrql 360 #ifdef APIC_LAZY_IRQL 565 #ifdef APIC_LAZY_IRQL 613 #ifdef APIC_LAZY_IRQL 757 #ifdef APIC_LAZY_IRQL 759 if (CurrentIrql >=
Irql)
UCHAR FASTCALL HalpVectorToIrq(UCHAR Vector)
_In_ ULONG _In_ ULONG BusInterruptLevel
NTKERNELAPI VOID NTAPI WRITE_REGISTER_ULONG(IN PULONG Register, IN ULONG Value)
FORCEINLINE VOID ApicRequestSelfInterrupt(IN UCHAR Vector, UCHAR TriggerMode)
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG _In_ KIRQL _In_ KIRQL _In_ KINTERRUPT_MODE InterruptMode
#define _ReadWriteBarrier()
KAFFINITY HalpDefaultInterruptAffinity
FORCEINLINE ULONG ApicRead(APIC_REGISTER Register)
VOID NTAPI HalpRegisterVector(IN UCHAR Flags, IN ULONG BusVector, IN ULONG SystemVector, IN KIRQL Irql)
void __cdecl _enable(void)
VOID NTAPI HalpSendEOI(VOID)
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
#define HalAddressToPte(x)
const UCHAR HalpIRQLtoTPR[32]
FORCEINLINE KIRQL ApicGetProcessorIrql(VOID)
FORCEINLINE IOAPIC_REDIRECTION_REGISTER ApicReadIORedirectionEntry(UCHAR Index)
_In_ ULONG _In_ ULONG _In_ ULONG BusInterruptVector
NTKERNELAPI ULONG NTAPI READ_REGISTER_ULONG(IN PULONG Register)
DECLSPEC_NORETURN VOID FASTCALL KiEoiHelper(IN PKTRAP_FRAME TrapFrame)
#define DECLSPEC_NORETURN
#define APIC_SPURIOUS_VECTOR
FORCEINLINE KIRQL ApicGetCurrentIrql(VOID)
#define ApicLogicalId(Cpu)
FORCEINLINE VOID ApicWriteIORedirectionEntry(UCHAR Index, IOAPIC_REDIRECTION_REGISTER ReDirReg)
UCHAR FASTCALL HalpIrqToVector(UCHAR Irq)
VOID FASTCALL KfLowerIrql(IN KIRQL OldIrql)
__INTRIN_INLINE uintptr_t __readeflags(void)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
FORCEINLINE VOID ApicWrite(APIC_REGISTER Register, ULONG Value)
BOOLEAN NTAPI HalEnableSystemInterrupt(IN ULONG Vector, IN KIRQL Irql, IN KINTERRUPT_MODE InterruptMode)
DECLSPEC_NORETURN VOID NTAPI KeBugCheck(ULONG BugCheckCode)
VOID __cdecl HalpDispatchInterrupt(VOID)
VOID NTAPI ApicInitializeIOApic(VOID)
KIRQL FASTCALL HalpVectorToIrql(UCHAR Vector)
UCHAR NTAPI HalpAllocateSystemInterrupt(_In_ UCHAR Irq, _In_ UCHAR Vector)
enum _KINTERRUPT_MODE KINTERRUPT_MODE
PPC_QUAL unsigned long long __readmsr()
UINT32 FocusCPUCoreChecking
#define APIC_CLOCK_VECTOR
KIRQL NTAPI KeGetCurrentIrql(VOID)
#define IrqlToSoftVector(Irql)
FORCEINLINE VOID IOApicWrite(UCHAR Register, ULONG Value)
UCHAR HalpVectorToIndex[256]
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_ ULONG Flags
#define APIC_RESERVED_VECTOR
VOID NTAPI HalDisableSystemInterrupt(IN ULONG Vector, IN KIRQL Irql)
FORCEINLINE VOID ApicLowerIrql(KIRQL Irql)
_In_ WDFCOLLECTION _In_ ULONG Index
PPC_QUAL unsigned char __readfsbyte(const unsigned long Offset)
PPC_QUAL void __writefsbyte(const unsigned long Offset, const unsigned char Data)
#define APIC_ERROR_VECTOR
VOID __cdecl HalpApcInterrupt(VOID)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
__INTRIN_INLINE void __writeeflags(uintptr_t Value)
VOID NTAPI KiDispatchInterrupt(VOID)
VOID DECLSPEC_NORETURN FASTCALL HalpApcInterruptHandler(IN PKTRAP_FRAME TrapFrame)
VOID HalpClockInterrupt(VOID)
FORCEINLINE BOOLEAN KiUserTrap(IN PKTRAP_FRAME TrapFrame)
PPC_QUAL void __writemsr(const unsigned long Value)
FORCEINLINE VOID KeRegisterInterruptHandler(IN ULONG Vector, IN PVOID Handler)
_In_ ULONG _In_ ULONG Offset
const KIRQL HalVectorToIRQL[16]
VOID FASTCALL HalRequestSoftwareInterrupt(IN KIRQL Irql)
KIRQL NTAPI KeRaiseIrqlToSynchLevel(VOID)
FORCEINLINE VOID KiEnterInterruptTrap(IN PKTRAP_FRAME TrapFrame)
UINT64 DestinationShortHand
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG Vector
#define FIELD_OFFSET(t, f)
FORCEINLINE VOID ApicSetIrql(KIRQL Irql)
VOID DECLSPEC_NORETURN FASTCALL HalpDispatchInterruptHandler(IN PKTRAP_FRAME TrapFrame)
ULONG NTAPI HalpGetRootInterruptVector(_In_ ULONG BusInterruptLevel, _In_ ULONG BusInterruptVector, _Out_ PKIRQL OutIrql, _Out_ PKAFFINITY OutAffinity)
FORCEINLINE ULONG IOApicRead(UCHAR Register)
void __cdecl _disable(void)
FORCEINLINE VOID ApicSendEOI(void)
KIRQL NTAPI KeRaiseIrqlToDpcLevel(VOID)
VOID __cdecl ApicSpuriousService(VOID)
VOID NTAPI ApicInitializeLocalApic(ULONG Cpu)
VOID NTAPI KiDeliverApc(IN KPROCESSOR_MODE DeliveryMode, IN PKEXCEPTION_FRAME ExceptionFrame, IN PKTRAP_FRAME TrapFrame)
VOID FASTCALL HalClearSoftwareInterrupt(IN KIRQL Irql)
VOID NTAPI HalpInitializePICs(IN BOOLEAN EnableInterrupts)
KIRQL FASTCALL KfRaiseIrql(IN KIRQL NewIrql)
VOID NTAPI HalpInitializeLegacyPICs(VOID)
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _In_ _IRQL_restores_ KIRQL NewIrql
BOOLEAN NTAPI HalBeginSystemInterrupt(IN KIRQL Irql, IN ULONG Vector, OUT PKIRQL OldIrql)
VOID NTAPI HalEndSystemInterrupt(IN KIRQL OldIrql, IN PKTRAP_FRAME TrapFrame)
#define EFLAGS_INTERRUPT_MASK