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::vm;
25        pub use crate::x86::vp;
26    }
27    #[cfg(guest_arch = "aarch64")]
28    mod aarch64 {
29        pub use crate::aarch64::Aarch64InitialRegs as InitialRegs;
30        pub use crate::aarch64::Aarch64PartitionCapabilities as PartitionCapabilities;
31        pub use crate::aarch64::vm;
32        pub use crate::aarch64::vp;
33    }
34
35    #[cfg(guest_arch = "aarch64")]
36    pub use aarch64::*;
37    #[cfg(guest_arch = "x86_64")]
38    pub use x86::*;
39}