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 orunimplemented!()
. 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.
- irq
irq
Interrupt management. - Physical memory management.
- Miscellaneous operation, e.g. terminate the system.
- mp
smp
Multi-core operations. - paging
paging
Page table manipulation. - Time-related operations.
- tls
tls
Thread Local Storage (TLS) support. - Trap handling.
Functions§
- Initializes the platform devices for the primary CPU.
- Initializes the platform devices for secondary CPUs.