Expand description
Emulated Local APIC.
x86_vlapic
x86 Virtual Local APIC
English | 中文
§Introduction
x86_vlapic provides x86 Virtual Local APIC. 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.
§Quick Start
§Installation
Add this crate to your Cargo.toml:
[dependencies]
x86_vlapic = "0.4.2"§Run Check and Test
# Enter the crate directory
cd virtualization/x86_vlapic
# 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 x86_vlapic as _;
fn main() {
// Integrate `x86_vlapic` into your project here.
}§Documentation
Generate and view API documentation:
cargo doc --no-deps --openOnline documentation: docs.rs/x86_vlapic
§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.
Re-exports§
pub use self::host::X86VlapicHostOps;
Modules§
- host
- Host callbacks required by x86 virtual interrupt-controller devices.
Structs§
- Emulated
IoApic - A minimal emulated x86 IO APIC.
- Emulated
Local Apic - A emulated local APIC device.
- Emulated
Pic - Guest-owned pair of legacy 8259-compatible interrupt controllers.
- Emulated
Pit - A minimal emulated x86 PIT/8254 device.
- IoApic
Eoi - Result of a virtual IO APIC EOI broadcast.
- IoApic
Interrupt - A routed interrupt from the virtual IO APIC.
- PicInterrupt
Claim - A pending legacy PIC interrupt removed from the IRR for delivery.
- X86Guest
Phys Addr - X86Guest
Phys Addr Range - A half-open range of guest physical addresses.
- X86Host
Phys Addr - X86Host
Virt Addr - X86Msr
Addr - x86 MSR address.
- X86Msr
Addr Range - An inclusive range of x86 MSR addresses.
- X86Port
- The port number of an x86 I/O operation.
- X86Port
Range - An inclusive range of x86 I/O ports.
Enums§
- X86Access
Width - Width of a guest bus access.
- X86Timer
Action - Result returned after an x86 device timer fires.
- X86Vlapic
Error - Errors produced by the OS-neutral x86 vLAPIC devices.
Type Aliases§
- X86Interrupt
Vector - Guest interrupt vector used by x86 interrupt-controller emulation.
- X86Timer
Callback - Timer callback type accepted by the embedding host.
- X86Vcpu
Id - vCPU identifier used by x86 interrupt-controller emulation.
- X86Vlapic
Result - Result type returned by the OS-neutral x86 vLAPIC devices.
- X86VmId
- VM identifier used by x86 interrupt-controller emulation.