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.
Re-exports
pub use self::platform::platform_init;
pub use self::platform::platform_name;
pub use self::platform::set_tss_stack_top;
x86-64pub use self::platform::platform_init_secondary;
smp
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.
- paging
paging
Page table manipulation. - Platform-specific operations.
- Time-related operations.
- tls
tls
Thread Local Storage (TLS) support.
Constants
- KERNEL_PROCESS_ID
monolithic
The kernel process ID, which is always 1.