15 releases
Uses new Rust 2024
| new 0.3.0-preview.3 | Mar 11, 2026 |
|---|---|
| 0.3.0-preview.2 | Mar 6, 2026 |
| 0.2.2-preview.6 | Feb 8, 2026 |
#914 in Hardware support
518 downloads per month
Used in 36 crates
(22 directly)
53KB
968 lines
axhal
ArceOS hardware abstraction layer: unified APIs for platform-specific operations (CPU, platform, paging, IRQ, etc.).
Depends on axconfig, axplat, and axcpu for platform and architecture support.
License
GPL-3.0-or-later OR Apache-2.0 OR MulanPSL-2.0
lib.rs:
ArceOS hardware abstraction layer, provides unified APIs for platform-specific operations.
It does the bootstrapping and initialization process for the specified platform, and provides useful operations on the hardware.
Currently supported platforms (specify by cargo features):
x86-pc: Standard PC with x86_64 ISA.riscv64-qemu-virt: QEMU virt machine with RISC-V ISA.aarch64-qemu-virt: QEMU virt machine with AArch64 ISA.aarch64-raspi: Raspberry Pi with AArch64 ISA.dummy: If none of the above platform is selected, the dummy platform will be used. In this platform, most of the operations are no-op orunimplemented!(). This platform is mainly used for cargo test.
Cargo Features
smp: Enable SMP (symmetric multiprocessing) support.fp-simd: Enable floating-point and SIMD support.paging: Enable page table manipulation.irq: Enable interrupt handling support.tls: Enable kernel space thread-local storage support.rtc: Enable real-time clock support.uspace: Enable user space support.
Dependencies
~6.5–9.5MB
~147K SLoC