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 state;
12pub mod x86;
13
14pub use arch::*;
15pub use cpuid::*;
16pub use generic::*;
17pub use vm_topology::processor::VpInfo;
18
19mod arch {
20    #[cfg(guest_arch = "x86_64")]
21    mod x86 {
22        pub use crate::x86::X86InitialRegs as InitialRegs;
23        pub use crate::x86::X86PartitionCapabilities as PartitionCapabilities;
24        pub use crate::x86::X86PartitionCapabilitiesError as PartitionCapabilitiesError;
25        pub use crate::x86::vm;
26        pub use crate::x86::vp;
27    }
28    #[cfg(guest_arch = "aarch64")]
29    mod aarch64 {
30        pub use crate::aarch64::Aarch64InitialRegs as InitialRegs;
31        pub use crate::aarch64::Aarch64PartitionCapabilities as PartitionCapabilities;
32        pub use crate::aarch64::Aarch64PartitionCapabilitiesError as PartitionCapabilitiesError;
33        pub use crate::aarch64::vm;
34        pub use crate::aarch64::vp;
35    }
36
37    #[cfg(guest_arch = "aarch64")]
38    pub use aarch64::*;
39    #[cfg(guest_arch = "x86_64")]
40    pub use x86::*;
41}