diff --git a/src/arch/x86_64/kernel/apic.rs b/src/arch/x86_64/kernel/apic.rs index 7826352365874524cc75ac19a78a1aaef918c855..75f553f0eca0d6fb57564b1d6731d1067ab5c39e 100644 --- a/src/arch/x86_64/kernel/apic.rs +++ b/src/arch/x86_64/kernel/apic.rs @@ -438,7 +438,8 @@ fn detect_from_uhyve() -> Result<PhysAddr, ()> { if env::is_uhyve() { let default_address = PhysAddr(0xFEE0_0000); - init_ioapic_address(default_address); + // currently, uhyve doesn't support an IO-APIC + //init_ioapic_address(default_address); Ok(default_address) } else { @@ -507,8 +508,11 @@ pub fn init() { calibrate_timer(); } - // init ioapic - init_ioapic(); + // currently, IO-APIC isn't supported by uhyve + if !env::is_uhyve() { + // initialize IO-APIC + init_ioapic(); + } } fn init_ioapic() {