⚠️ VeridianOS Kernel Documentation - This is low-level kernel code. All functions are unsafe unless explicitly marked otherwise. no_std

veridian_kernel/arch/
mod.rs

1//! Architecture abstraction layer for VeridianOS.
2//!
3//! This module provides architecture-specific implementations for x86_64,
4//! AArch64, and RISC-V 64-bit platforms. Each sub-module exports a common
5//! interface (serial, boot, context switching, interrupts) that the
6//! architecture-independent kernel code uses.
7
8#[cfg(target_arch = "x86_64")]
9pub mod x86_64;
10
11#[cfg(target_arch = "x86_64")]
12pub use x86_64::*;
13
14#[cfg(target_arch = "aarch64")]
15pub mod aarch64;
16
17#[cfg(target_arch = "aarch64")]
18pub use aarch64::*;
19
20#[cfg(any(target_arch = "riscv32", target_arch = "riscv64"))]
21pub mod riscv;
22
23#[cfg(target_arch = "riscv64")]
24pub mod riscv64;
25
26#[cfg(target_arch = "riscv64")]
27pub use riscv64::*;
28
29// Common timer module
30pub mod timer;
31
32// Common context module
33pub mod context;
34
35// Architecture-independent memory barrier abstractions
36pub mod barriers;
37
38// Architecture-independent hardware entropy abstractions
39pub mod entropy;
40
41// Serial initialization is handled per-architecture