mirror of
https://github.com/reactos/reactos.git
synced 2025-04-24 23:50:24 +00:00
[HALX86/APIC] Change IRQL for x86 profile interrupt to HIGH_LEVEL
While PROFILE_LEVEL is defined as 27 on x86, this does not match the vector for the profiling interrupt, which is 0xFD (see https://community.osr.com/t/odd-ioapic-output/45216), implying IRQL 31. Fixes boot with x86 APIC hal (CORE-20093)
This commit is contained in:
parent
35fd771c84
commit
e452980e0e
2 changed files with 3 additions and 1 deletions
|
@ -32,6 +32,7 @@
|
|||
#define IrqlToSoftVector(Irql) ((Irql << 4)|0xf)
|
||||
#define TprToIrql(Tpr) ((KIRQL)(Tpr >> 4))
|
||||
#define CLOCK2_LEVEL CLOCK_LEVEL
|
||||
#define APIC_PROFILE_LEVEL PROFILE_LEVEL
|
||||
#else
|
||||
#define LOCAL_APIC_BASE 0xFFFE0000
|
||||
#define IOAPIC_BASE 0xFFFE1000
|
||||
|
@ -54,6 +55,7 @@
|
|||
#define IrqlToTpr(Irql) (HalpIRQLtoTPR[Irql])
|
||||
#define IrqlToSoftVector(Irql) IrqlToTpr(Irql)
|
||||
#define TprToIrql(Tpr) (HalVectorToIRQL[Tpr >> 4])
|
||||
#define APIC_PROFILE_LEVEL HIGH_LEVEL
|
||||
#endif
|
||||
|
||||
#define APIC_MAX_IRQ 24
|
||||
|
|
|
@ -63,7 +63,7 @@ HalpInitPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
|||
HalpEnableInterruptHandler(IDT_DEVICE,
|
||||
0,
|
||||
APIC_PROFILE_VECTOR,
|
||||
PROFILE_LEVEL,
|
||||
APIC_PROFILE_LEVEL,
|
||||
HalpProfileInterrupt,
|
||||
Latched);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue