Skip to main content

Crate x86_vlapic

Crate x86_vlapic 

Source
Expand description

Emulated Local APIC.

x86_vlapic

x86 Virtual Local APIC

Crates.io Docs.rs Rust License

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

Online documentation: docs.rs/x86_vlapic

§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 self::host::X86VlapicHostOps;

Modules§

host
Host callbacks required by x86 virtual interrupt-controller devices.

Structs§

EmulatedIoApic
A minimal emulated x86 IO APIC.
EmulatedLocalApic
A emulated local APIC device.
EmulatedPic
Guest-owned pair of legacy 8259-compatible interrupt controllers.
EmulatedPit
A minimal emulated x86 PIT/8254 device.
IoApicEoi
Result of a virtual IO APIC EOI broadcast.
IoApicInterrupt
A routed interrupt from the virtual IO APIC.
PicInterruptClaim
A pending legacy PIC interrupt removed from the IRR for delivery.
X86GuestPhysAddr
X86GuestPhysAddrRange
A half-open range of guest physical addresses.
X86HostPhysAddr
X86HostVirtAddr
X86MsrAddr
x86 MSR address.
X86MsrAddrRange
An inclusive range of x86 MSR addresses.
X86Port
The port number of an x86 I/O operation.
X86PortRange
An inclusive range of x86 I/O ports.

Enums§

X86AccessWidth
Width of a guest bus access.
X86TimerAction
Result returned after an x86 device timer fires.
X86VlapicError
Errors produced by the OS-neutral x86 vLAPIC devices.

Type Aliases§

X86InterruptVector
Guest interrupt vector used by x86 interrupt-controller emulation.
X86TimerCallback
Timer callback type accepted by the embedding host.
X86VcpuId
vCPU identifier used by x86 interrupt-controller emulation.
X86VlapicResult
Result type returned by the OS-neutral x86 vLAPIC devices.
X86VmId
VM identifier used by x86 interrupt-controller emulation.