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§

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

Functions§

platform_init
Initializes the platform devices for the primary CPU.
platform_init_secondarysmp
Initializes the platform devices for secondary CPUs.