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
TLS and userspace features
tls requests kernel thread-local storage. uspace takes precedence over
tls: enabling both selects the same register ownership and context-switch
path as uspace alone, without kernel TLS. User-space TLS is still saved and
restored by the user-context APIs. Kernel thread-pointer accessors are available
only when tls is enabled and uspace is disabled. build.rs derives the
internal kernel_tls cfg; callers should select Cargo features instead of
setting this cfg themselves. Existing single-feature modes keep their behavior
and task-context layout.
Quick Start
Installation
Add this crate to your Cargo.toml:
[]
= "0.5.0"
Run Check and Test
# Enter the crate directory
# Format code
# Run clippy
# Run tests
# Build documentation
Integration
Example
use ax_cpu as _;
Documentation
Generate and view API documentation:
Online 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.