Skip to main content

Crate ax_page_table_multiarch

Crate ax_page_table_multiarch 

Source
Expand description

ax-page-table-multiarch

Generic page table structures for various hardware architectures

Crates.io Docs.rs Rust License

English | 中文

§Introduction

ax-page-table-multiarch provides Generic page table structures for various hardware 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-page-table-multiarch was derived from https://github.com/arceos-org/page_table_multiarch

§Quick Start

§Installation

Add this crate to your Cargo.toml:

[dependencies]
ax-page-table-multiarch = "0.8.1"

§Run Check and Test

# Enter the crate directory
cd memory/page_table_multiarch

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

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

§Documentation

Generate and view API documentation:

cargo doc --no-deps --open

Online documentation: docs.rs/ax-page-table-multiarch

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

Re-exports§

pub use ax_page_table_entry::GenericPTE;
pub use ax_page_table_entry::MappingFlags;

Modules§

aarch64AArch64
AArch64 specific page table structures.
armARM
ARMv7-A specific page table structures.
loongarch64LoongArch64
LoongArch64 specific page table structures.
riscvRISC-V RV32 or RISC-V RV64
RISC-V specific page table structures.
x86_64x86-64
x86 specific page table structures.

Structs§

PageTable3232-bit or docsrs
A generic page table struct for 32-bit ARM platform (ARMv7-A).
PageTable6464-bit or docsrs
A generic page table struct for 64-bit platform.
PageTable32Cursor32-bit or docsrs
A cursor created by PageTable32::cursor to modify the page table.
PageTable64Cursor64-bit or docsrs
A cursor created by PageTable64::cursor to modify the page table.

Enums§

PageSize
The page sizes supported by the hardware page table.
PagingError
The error type for page table operation failures.

Traits§

PagingHandler
The low-level OS-dependent helpers that must be provided for PageTable64.
PagingMetaData
The architecture-dependent metadata that must be provided for PageTable64.

Type Aliases§

PagingResult
The specialized Result type for page table operations.