diff --git a/ihdad/src/main.rs b/ihdad/src/main.rs index ba8ae837d8..c640cca9e0 100755 --- a/ihdad/src/main.rs +++ b/ihdad/src/main.rs @@ -16,7 +16,9 @@ use std::sync::Arc; use event::EventQueue; use pcid_interface::{MsiSetFeatureInfo, PcidServerHandle, PciFeature, PciFeatureInfo, SetFeatureInfo}; -use pcid_interface::irq_helpers::{read_bsp_apic_id, allocate_single_interrupt_vector_for_msi}; +#[cfg(any(target_arch = "x86", target_arch = "x86_64"))] +use pcid_interface::irq_helpers::allocate_single_interrupt_vector_for_msi; +use pcid_interface::irq_helpers::read_bsp_apic_id; use redox_log::{OutputBuilder, RedoxLogger}; pub mod hda; diff --git a/rtl8139d/src/main.rs b/rtl8139d/src/main.rs index c61e3049ab..5687cbf768 100644 --- a/rtl8139d/src/main.rs +++ b/rtl8139d/src/main.rs @@ -15,7 +15,9 @@ use std::sync::Arc; use event::EventQueue; use pcid_interface::{MsiSetFeatureInfo, PcidServerHandle, PciFeature, PciFeatureInfo, SetFeatureInfo, SubdriverArguments}; -use pcid_interface::irq_helpers::{read_bsp_apic_id, allocate_single_interrupt_vector_for_msi}; +#[cfg(any(target_arch = "x86", target_arch = "x86_64"))] +use pcid_interface::irq_helpers::allocate_single_interrupt_vector_for_msi; +use pcid_interface::irq_helpers::read_bsp_apic_id; use pcid_interface::msi::{MsixCapability, MsixTableEntry}; use redox_log::{RedoxLogger, OutputBuilder}; use syscall::{EventFlags, Packet, SchemeBlockMut}; diff --git a/rtl8168d/src/main.rs b/rtl8168d/src/main.rs index f5452baff9..e2fc5503f4 100644 --- a/rtl8168d/src/main.rs +++ b/rtl8168d/src/main.rs @@ -13,7 +13,9 @@ use std::sync::Arc; use event::EventQueue; use pcid_interface::{MsiSetFeatureInfo, PcidServerHandle, PciFeature, PciFeatureInfo, SetFeatureInfo, SubdriverArguments}; -use pcid_interface::irq_helpers::{read_bsp_apic_id, allocate_single_interrupt_vector_for_msi}; +#[cfg(any(target_arch = "x86", target_arch = "x86_64"))] +use pcid_interface::irq_helpers::allocate_single_interrupt_vector_for_msi; +use pcid_interface::irq_helpers::read_bsp_apic_id; use pcid_interface::msi::{MsixCapability, MsixTableEntry}; use redox_log::{RedoxLogger, OutputBuilder}; use syscall::{EventFlags, Packet, SchemeBlockMut}; diff --git a/virtio-core/src/arch/aarch64.rs b/virtio-core/src/arch/aarch64.rs index e8f340580a..29e3b5855a 100644 --- a/virtio-core/src/arch/aarch64.rs +++ b/virtio-core/src/arch/aarch64.rs @@ -8,9 +8,9 @@ pub fn enable_msix(pcid_handle: &mut PcidServerHandle) -> Result { unimplemented!("virtio_core: aarch64 enable_msix") } -pub fn probe_legacy_port_transport<'a>( - pci_header: &PciHeader, +pub fn probe_legacy_port_transport( + pci_config: &SubdriverArguments, pcid_handle: &mut PcidServerHandle, -) -> Result, Error> { +) -> Result { panic!("virtio-core: aarch64 doesn't support legacy port I/O") } \ No newline at end of file diff --git a/virtio-core/src/arch/x86.rs b/virtio-core/src/arch/x86.rs index 45d67b9a1c..9073ce8059 100644 --- a/virtio-core/src/arch/x86.rs +++ b/virtio-core/src/arch/x86.rs @@ -8,10 +8,10 @@ pub fn enable_msix(pcid_handle: &mut PcidServerHandle) -> Result { } pub fn probe_legacy_port_transport( - pci_header: &PciHeader, + pci_config: &SubdriverArguments, pcid_handle: &mut PcidServerHandle, ) -> Result { - let port = pci_header.get_bar(0).expect_port(); + let port = pci_config.func.bars[0].expect_port(); unsafe { syscall::iopl(3).expect("virtio: failed to set I/O privilege level") }; log::warn!("virtio: using legacy transport"); diff --git a/xhcid/src/main.rs b/xhcid/src/main.rs index bbab755d9a..9e6a71d3b0 100644 --- a/xhcid/src/main.rs +++ b/xhcid/src/main.rs @@ -12,7 +12,9 @@ use std::sync::{Arc, Mutex}; use std::env; use pcid_interface::{MsiSetFeatureInfo, PcidServerHandle, PciFeature, PciFeatureInfo, SetFeatureInfo}; -use pcid_interface::irq_helpers::{read_bsp_apic_id, allocate_single_interrupt_vector_for_msi}; +#[cfg(any(target_arch = "x86", target_arch = "x86_64"))] +use pcid_interface::irq_helpers::allocate_single_interrupt_vector_for_msi; +use pcid_interface::irq_helpers::read_bsp_apic_id; use pcid_interface::msi::MsixTableEntry; use event::{Event, EventQueue};