virt/
lib.rs

1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4#![expect(missing_docs)]
5
6pub mod aarch64;
7mod cpuid;
8mod generic;
9pub mod io;
10pub mod irqcon;
11pub mod irqfd;
12pub mod state;
13pub mod synic;
14pub mod x86;
15
16pub use arch::*;
17pub use cpuid::*;
18pub use generic::*;
19pub use vm_topology::processor::VpInfo;
20
21mod arch {
22    #[cfg(guest_arch = "x86_64")]
23    mod x86 {
24        pub use crate::x86::X86InitialRegs as InitialRegs;
25        pub use crate::x86::X86PartitionCapabilities as PartitionCapabilities;
26        pub use crate::x86::X86PartitionCapabilitiesError as PartitionCapabilitiesError;
27        pub use crate::x86::vm;
28        pub use crate::x86::vp;
29    }
30    #[cfg(guest_arch = "aarch64")]
31    mod aarch64 {
32        pub use crate::aarch64::Aarch64InitialRegs as InitialRegs;
33        pub use crate::aarch64::Aarch64PartitionCapabilities as PartitionCapabilities;
34        pub use crate::aarch64::Aarch64PartitionCapabilitiesError as PartitionCapabilitiesError;
35        pub use crate::aarch64::vm;
36        pub use crate::aarch64::vp;
37    }
38
39    #[cfg(guest_arch = "aarch64")]
40    pub use aarch64::*;
41    #[cfg(guest_arch = "x86_64")]
42    pub use x86::*;
43}