28 releases

Uses new Rust 2024

new 0.5.30 Aug 3, 2026
0.5.29 Jul 24, 2026
0.5.22 Jun 27, 2026
0.5.15 May 22, 2026
0.5.12 Apr 27, 2026

#1111 in Hardware support

Download history 61/week @ 2026-04-11 6/week @ 2026-04-18 30/week @ 2026-04-25 16/week @ 2026-05-02 52/week @ 2026-05-09 192/week @ 2026-05-16 81/week @ 2026-05-23 121/week @ 2026-05-30 146/week @ 2026-06-06 82/week @ 2026-06-13 117/week @ 2026-06-20 188/week @ 2026-06-27 403/week @ 2026-07-04 41/week @ 2026-07-11 55/week @ 2026-07-18 41/week @ 2026-07-25

575 downloads per month
Used in 22 crates (18 directly)

Apache-2.0

1MB
21K SLoC

ax-hal

ArceOS hardware abstraction layer: unified APIs for platform-specific operations (CPU, platform, paging, IRQ, etc.).

Depends on the ax-plat contract, the mandatory axplat-dyn implementation, and ax-cpu 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):

  • Runtime-discovered platform support through axplat-dyn.
  • 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

~15MB
~265K SLoC