Expand description
ax-cpu
Privileged instruction and structure abstractions for various CPU architectures
English | 中文
§Introduction
ax-cpu provides Privileged instruction and structure abstractions for various CPU architectures. It is maintained as part of the TGOSKits component set and is intended for Rust projects that integrate with ArceOS, AxVisor, or related low-level systems software.
ax-cpu was derived from https://github.com/arceos-org/axcpu
§Quick Start
§Installation
Add this crate to your Cargo.toml:
[dependencies]
ax-cpu = "0.5.0"§Run Check and Test
# Enter the crate directory
cd components/axcpu
# Format code
cargo fmt --all
# Run clippy
cargo clippy --all-targets --all-features
# Run tests
cargo test --all-features
# Build documentation
cargo doc --no-deps§Integration
§Example
use ax_cpu as _;
fn main() {
// Integrate `ax-cpu` into your project here.
}§Documentation
Generate and view API documentation:
cargo doc --no-deps --openOnline documentation: docs.rs/ax-cpu
§Contributing
- Fork the repository and create a branch
- Run local format and checks
- Run local tests relevant to this crate
- Submit a PR and ensure CI passes
§License
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Modules§
- asm
- Wrapper functions for assembly instructions.
- init
- Helper functions to initialize the CPU states on systems bootstrapping.
- trap
- Trap handling.
- uspace
uspace - Structures and functions for user space.
Structs§
- FpuState
- Floating-point registers of LoongArch64
- General
Registers - General registers of Loongarch64.
- Task
Context - Saved hardware states of a task.
- Trap
Frame - Saved registers when a trap (interrupt or exception) occurs.
- Unaligned
Error - Error type for unaligned access operations.