diff --git a/kernel/comps/pci/src/lib.rs b/kernel/comps/pci/src/lib.rs index a0fa66133..cd7ec06ec 100644 --- a/kernel/comps/pci/src/lib.rs +++ b/kernel/comps/pci/src/lib.rs @@ -55,14 +55,9 @@ #![no_std] #![deny(unsafe_code)] -#[cfg(target_arch = "x86_64")] -#[path = "arch/x86/mod.rs"] -mod arch; -#[cfg(target_arch = "riscv64")] -#[path = "arch/riscv/mod.rs"] -mod arch; -#[cfg(target_arch = "loongarch64")] -#[path = "arch/loongarch/mod.rs"] +#[cfg_attr(target_arch = "x86_64", path = "arch/x86/mod.rs")] +#[cfg_attr(target_arch = "riscv64", path = "arch/riscv/mod.rs")] +#[cfg_attr(target_arch = "loongarch64", path = "arch/loongarch/mod.rs")] mod arch; pub mod bus; diff --git a/kernel/comps/virtio/src/transport/mmio/bus/arch/riscv.rs b/kernel/comps/virtio/src/transport/mmio/bus/arch/riscv.rs index e947566ed..9e96c7808 100644 --- a/kernel/comps/virtio/src/transport/mmio/bus/arch/riscv.rs +++ b/kernel/comps/virtio/src/transport/mmio/bus/arch/riscv.rs @@ -19,6 +19,10 @@ pub(super) fn probe_for_device() { }) }); mmio_nodes.for_each(|node| { + let mmio_region = node.reg().unwrap().next().unwrap(); + let mmio_start = mmio_region.starting_address as usize; + let mmio_end = mmio_start + mmio_region.size.unwrap(); + let interrupt_source_in_fdt = InterruptSourceInFdt { interrupt: node.interrupts().unwrap().next().unwrap() as u32, interrupt_parent: node @@ -26,9 +30,6 @@ pub(super) fn probe_for_device() { .and_then(|prop| prop.as_usize()) .unwrap() as u32, }; - let mmio_region = node.reg().unwrap().next().unwrap(); - let mmio_start = mmio_region.starting_address as usize; - let mmio_end = mmio_start + mmio_region.size.unwrap(); let _ = super::try_register_mmio_device(mmio_start..mmio_end, |irq_line| { IRQ_CHIP diff --git a/kernel/comps/virtio/src/transport/mmio/bus/mod.rs b/kernel/comps/virtio/src/transport/mmio/bus/mod.rs index f00984669..e8ce3e1ac 100644 --- a/kernel/comps/virtio/src/transport/mmio/bus/mod.rs +++ b/kernel/comps/virtio/src/transport/mmio/bus/mod.rs @@ -15,7 +15,8 @@ use crate::transport::mmio::bus::common_device::{ #[cfg_attr(target_arch = "x86_64", path = "arch/x86.rs")] #[cfg_attr(target_arch = "riscv64", path = "arch/riscv.rs")] #[cfg_attr(target_arch = "loongarch64", path = "arch/loongarch.rs")] -pub mod arch; +mod arch; + #[expect(clippy::module_inception)] pub(super) mod bus; pub(super) mod common_device; @@ -37,7 +38,7 @@ pub(super) fn init() { arch::probe_for_device(); } -/// Try to validate a potential VirtIO-MMIO device, map it to an IRQ line, and +/// Tries to validate a potential VirtIO-MMIO device, map it to an IRQ line, and /// register it as a VirtIO-MMIO device. /// /// Returns `Ok(())` if the device was registered, or a specific diff --git a/kernel/src/lib.rs b/kernel/src/lib.rs index dde2d9211..7cb2c170a 100644 --- a/kernel/src/lib.rs +++ b/kernel/src/lib.rs @@ -48,14 +48,9 @@ extern crate controlled; #[macro_use] extern crate getset; -#[cfg(target_arch = "x86_64")] -#[path = "arch/x86/mod.rs"] -mod arch; -#[cfg(target_arch = "riscv64")] -#[path = "arch/riscv/mod.rs"] -mod arch; -#[cfg(target_arch = "loongarch64")] -#[path = "arch/loongarch/mod.rs"] +#[cfg_attr(target_arch = "x86_64", path = "arch/x86/mod.rs")] +#[cfg_attr(target_arch = "riscv64", path = "arch/riscv/mod.rs")] +#[cfg_attr(target_arch = "loongarch64", path = "arch/loongarch/mod.rs")] mod arch; mod context; diff --git a/kernel/src/syscall/mod.rs b/kernel/src/syscall/mod.rs index d998a4e57..991063f30 100644 --- a/kernel/src/syscall/mod.rs +++ b/kernel/src/syscall/mod.rs @@ -13,18 +13,14 @@ pub use timer_create::create_timer; use crate::{context::Context, cpu::LinuxAbi, prelude::*}; +#[cfg_attr(target_arch = "x86_64", path = "arch/x86.rs")] +#[cfg_attr(target_arch = "riscv64", path = "arch/riscv.rs")] +#[cfg_attr(target_arch = "loongarch64", path = "arch/loongarch.rs")] +mod arch; + mod accept; mod access; mod alarm; -#[cfg(target_arch = "x86_64")] -#[path = "arch/x86.rs"] -mod arch; -#[cfg(target_arch = "riscv64")] -#[path = "arch/riscv.rs"] -mod arch; -#[cfg(target_arch = "loongarch64")] -#[path = "arch/loongarch.rs"] -mod arch; mod arch_prctl; mod bind; mod brk; diff --git a/ostd/src/lib.rs b/ostd/src/lib.rs index 7231e94e0..29e66ef51 100644 --- a/ostd/src/lib.rs +++ b/ostd/src/lib.rs @@ -22,14 +22,9 @@ extern crate alloc; -#[cfg(target_arch = "x86_64")] -#[path = "arch/x86/mod.rs"] -pub mod arch; -#[cfg(target_arch = "riscv64")] -#[path = "arch/riscv/mod.rs"] -pub mod arch; -#[cfg(target_arch = "loongarch64")] -#[path = "arch/loongarch/mod.rs"] +#[cfg_attr(target_arch = "x86_64", path = "arch/x86/mod.rs")] +#[cfg_attr(target_arch = "riscv64", path = "arch/riscv/mod.rs")] +#[cfg_attr(target_arch = "loongarch64", path = "arch/loongarch/mod.rs")] pub mod arch; pub mod boot;