Crate axhal

source ·
Expand description

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.

Modules§

  • Architecture-specific types and operations.
  • Console input and output.
  • CPU-related operations.
  • irqirq
    Interrupt management.
  • Physical memory management.
  • Miscellaneous operation, e.g. terminate the system.
  • mpsmp
    Multi-core operations.
  • pagingpaging
    Page table manipulation.
  • Time-related operations.
  • tlstls
    Thread Local Storage (TLS) support.
  • Trap handling.

Functions§