Skip to main content

Crate ax_plat

Crate ax_plat 

Source
Expand description

ax-plat

This crate provides a unified abstraction layer for diverse hardware platforms

Crates.io Docs.rs Rust License

English | 中文

§Introduction

ax-plat provides This crate provides a unified abstraction layer for diverse hardware platforms. 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-plat was derived from https://github.com/arceos-org/axplat_crates

§Quick Start

§Installation

Add this crate to your Cargo.toml:

[dependencies]
ax-plat = "0.5.1"

§Run Check and Test

# Enter the crate directory
cd components/axplat_crates/axplat

# 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_plat as _;

fn main() {
    // Integrate `ax-plat` into your project here.
}

§Documentation

Generate and view API documentation:

cargo doc --no-deps --open

Online documentation: docs.rs/ax-plat

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

console
Console input and output.
init
Platform initialization.
irqirq
Interrupt request (IRQ) handling.
mem
Physical memory information.
percpu
CPU-local data structures and accessors.
power
Power management.
time
Time-related operations.

Macros§

assert_str_eq
Checks that two strings are equal. If they are not equal, it will cause a compile-time error. And the message will be printed if it is provided.
console_print
Simple console print operation.
console_println
Simple console print operation, with a newline.

Functions§

call_main
Call the function decorated by ax_plat::main for the primary core.
call_secondary_mainsmp
Call the function decorated by ax_plat::secondary_main for secondary cores.

Attribute Macros§

impl_plat_interface
Implement the crate interface for a struct.
main
Marks a function to be called on the primary core after the platform initialization.
secondary_mainsmp
Marks a function to be called on the secondary cores after the platform initialization.