Skip to main content

Crate ax_cpu

Crate ax_cpu 

Source
Expand description

ax-cpu

Privileged instruction and structure abstractions for various CPU architectures

Crates.io Docs.rs Rust License

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 --open

Online documentation: docs.rs/ax-cpu

§Contributing

  1. Fork the repository and create a branch
  2. Run local format and checks
  3. Run local tests relevant to this crate
  4. 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.
uspaceuspace
Structures and functions for user space.

Structs§

FpuState
Floating-point registers of LoongArch64
GeneralRegisters
General registers of Loongarch64.
TaskContext
Saved hardware states of a task.
TrapFrame
Saved registers when a trap (interrupt or exception) occurs.
UnalignedError
Error type for unaligned access operations.