15 releases

Uses new Rust 2024

0.3.0-preview.3 Mar 11, 2026
0.3.0-preview.2 Mar 6, 2026
0.2.2-preview.6 Feb 8, 2026

#2784 in Hardware support

Download history 204/week @ 2026-04-18 77/week @ 2026-04-25 80/week @ 2026-05-02 90/week @ 2026-05-09 157/week @ 2026-05-16 182/week @ 2026-05-23 119/week @ 2026-05-30 498/week @ 2026-06-06 313/week @ 2026-06-13 467/week @ 2026-06-20 1266/week @ 2026-06-27 348/week @ 2026-07-04 540/week @ 2026-07-11 88/week @ 2026-07-18 62/week @ 2026-07-25 33/week @ 2026-08-01

937 downloads per month
Used in 51 crates (25 directly)

GPL-3.0-or-later OR Apache-2…

53KB
967 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 or unimplemented!(). 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

~7–11MB
~173K SLoC