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§
- arch
- Architecture-specific types and operations.
- console
- Console input and output.
- cpu
- CPU-related operations.
- irq
irq
- Interrupt management.
- mem
- Physical memory management.
- misc
- Miscellaneous operation, e.g. terminate the system.
- mp
smp
- Multi-core operations.
- paging
paging
- Page table manipulation.
- time
- Time-related operations.
- tls
tls
- Thread Local Storage (TLS) support.
- trap
- Trap handling.
Functions§
- platform_
init - Initializes the platform devices for the primary CPU.
- platform_
init_ secondary smp
- Initializes the platform devices for secondary CPUs.