From 39c20720ee48a69f77294712d2fa0075deb2277d Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 16 Feb 2024 22:05:57 -0700 Subject: [PATCH] Fix compilation on x86_64 --- src/arch/x86_shared/device/ioapic.rs | 9 ++++----- src/arch/x86_shared/device/local_apic.rs | 9 ++++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/arch/x86_shared/device/ioapic.rs b/src/arch/x86_shared/device/ioapic.rs index e36a83fdbe..d27d014f76 100644 --- a/src/arch/x86_shared/device/ioapic.rs +++ b/src/arch/x86_shared/device/ioapic.rs @@ -236,11 +236,10 @@ pub unsafe fn handle_ioapic(mapper: &mut KernelMapper, madt_ioapic: &'static Mad // map the I/O APIC registers let frame = Frame::containing_address(PhysicalAddress::new(madt_ioapic.address as usize)); - let page = Page::containing_address(if cfg!(target_arch = "x86") { - VirtualAddress::new(crate::IOAPIC_OFFSET) - } else { - RmmA::phys_to_virt(frame.start_address()) - }); + #[cfg(target_arch = "x86")] + let page = Page::containing_address(VirtualAddress::new(crate::IOAPIC_OFFSET)); + #[cfg(target_arch = "x86_64")] + let page = Page::containing_address(RmmA::phys_to_virt(frame.start_address())); assert!(mapper.translate(page.start_address()).is_none()); diff --git a/src/arch/x86_shared/device/local_apic.rs b/src/arch/x86_shared/device/local_apic.rs index 60c511a395..4c5701b8fb 100644 --- a/src/arch/x86_shared/device/local_apic.rs +++ b/src/arch/x86_shared/device/local_apic.rs @@ -49,11 +49,10 @@ impl LocalApic { .expect("expected KernelMapper not to be locked re-entrant while initializing LAPIC"); let physaddr = PhysicalAddress::new(rdmsr(IA32_APIC_BASE) as usize & 0xFFFF_0000); - let virtaddr = if cfg!(target_arch = "x86") { - VirtualAddress::new(crate::LAPIC_OFFSET) - } else { - RmmA::phys_to_virt(physaddr) - }; + #[cfg(target_arch = "x86")] + let virtaddr = VirtualAddress::new(crate::LAPIC_OFFSET); + #[cfg(target_arch = "x86_64")] + let virtaddr = RmmA::phys_to_virt(physaddr); self.address = virtaddr.data(); self.x2 = cpuid().map_or(false, |cpuid| {