Skip to main content

Crate axhal

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.
  • tls: Enable kernel space thread-local storage support.
  • rtc: Enable real-time clock support.
  • uspace: Enable user space support.

Modules§

asm
Wrapper functions for assembly instructions.
console
Console input and output.
context
CPU register states for context switching.
dtb
DTB (Device Tree Blob) related functionality.
mem
Physical memory management.
percpu
CPU-local data structures.
power
CPU power management.
time
Time-related operations.
trap
Trap handling.

Functions§

init_early
Initializes the platform and boot argument. This function should be called as early as possible.
init_later
Initializes the platform at the later stage for the primary core.