diff --git a/kernel/src/arch/aarch64/mod.rs b/kernel/src/arch/aarch64/mod.rs new file mode 100644 index 00000000..cfeed096 --- /dev/null +++ b/kernel/src/arch/aarch64/mod.rs @@ -0,0 +1 @@ +//! \ No newline at end of file diff --git a/kernel/src/arch/mod.rs b/kernel/src/arch/mod.rs new file mode 100644 index 00000000..649461ae --- /dev/null +++ b/kernel/src/arch/mod.rs @@ -0,0 +1,16 @@ +//! Architecture specific code + +macro_rules! arch_cond { + ($($arch:ident: $str:literal),* $(,)?) => {$( + #[cfg(target_arch = $str)] + pub mod $arch; + #[cfg(target_arch = $str)] + pub use $arch::*; + )*}; +} + +arch_cond!( + aarch64: "aarch64", + riscv64: "riscv64", + x86_64: "x86_64", +); diff --git a/kernel/src/arch/riscv64/mod.rs b/kernel/src/arch/riscv64/mod.rs new file mode 100644 index 00000000..cfeed096 --- /dev/null +++ b/kernel/src/arch/riscv64/mod.rs @@ -0,0 +1 @@ +//! \ No newline at end of file diff --git a/kernel/src/arch/x86_64/mod.rs b/kernel/src/arch/x86_64/mod.rs new file mode 100644 index 00000000..cfeed096 --- /dev/null +++ b/kernel/src/arch/x86_64/mod.rs @@ -0,0 +1 @@ +//! \ No newline at end of file diff --git a/kernel/src/lib.rs b/kernel/src/lib.rs index 20de4ad4..d783ab50 100644 --- a/kernel/src/lib.rs +++ b/kernel/src/lib.rs @@ -7,6 +7,7 @@ extern crate alloc; pub mod allocator; +pub mod arch; pub mod task; use versioning::Version;