kernel/x86: Fix IO-APIC initialization on non-PCI systems

Currently the IO-APIC is fully initialized after PCI initialization
resulting in the IO-APIC not being initialized on systems without a
PCI bus (i.e. Hyper-V Gen2 VMs). This change moves IO-APIC
initialization to occur during early init, deferring PCI interrupt
enumeration and routing until after PCI initialization has been
completed.

Change-Id: I00be0be05d2e7668c3c6bc7af3afc4ff8d04a129
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10414
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: X512 X512 <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
John Davis
2026-03-13 18:08:44 +00:00
committed by waddlesplash
parent a0c9ad5269
commit 51805ac6d3
4 changed files with 62 additions and 49 deletions
+2 -2
View File
@@ -11,7 +11,7 @@ struct kernel_args;
bool ioapic_is_interrupt_available(int32 gsi);
void ioapic_preinit(kernel_args* args);
void ioapic_init();
void ioapic_init(kernel_args* args);
void ioapic_routing_init();
#endif // _KERNEL_ARCH_x86_IOAPIC_H