cfg_if::cfg_if! {
if #[cfg(target_arch = "x86_64")] {
pub use x86_vcpu::X86ArchVCpu as AxArchVCpuImpl;
pub use x86_vcpu::X86ArchPerCpuState as AxVMArchPerCpuImpl;
pub use x86_vcpu::X86VCpuSetupConfig as AxVCpuSetupConfig;
pub use x86_vcpu::has_hardware_support;
#[allow(dead_code)]
pub type AxVCpuCreateConfig = ();
pub fn max_guest_page_table_levels() -> usize { 4 }
} else if #[cfg(target_arch = "riscv64")] {
pub use riscv_vcpu::RISCVVCpu as AxArchVCpuImpl;
pub use riscv_vcpu::RISCVPerCpu as AxVMArchPerCpuImpl;
pub use riscv_vcpu::RISCVVCpuCreateConfig as AxVCpuCreateConfig;
pub use riscv_vcpu::has_hardware_support;
pub fn max_guest_page_table_levels() -> usize { 4 }
} else if #[cfg(target_arch = "loongarch64")] {
pub use loongarch_vcpu::LoongArchPerCpu as AxVMArchPerCpuImpl;
pub use loongarch_vcpu::LoongArchVCpu as AxArchVCpuImpl;
pub use loongarch_vcpu::LoongArchVCpuCreateConfig as AxVCpuCreateConfig;
pub use loongarch_vcpu::LoongArchVCpuSetupConfig as AxVCpuSetupConfig;
pub use loongarch_vcpu::has_hardware_support;
pub fn max_guest_page_table_levels() -> usize { 4 }
} else if #[cfg(target_arch = "aarch64")] {
pub use arm_vcpu::Aarch64VCpu as AxArchVCpuImpl;
pub use arm_vcpu::Aarch64PerCpu as AxVMArchPerCpuImpl;
pub use arm_vcpu::Aarch64VCpuCreateConfig as AxVCpuCreateConfig;
pub use arm_vcpu::Aarch64VCpuSetupConfig as AxVCpuSetupConfig;
pub use arm_vcpu::has_hardware_support;
pub use arm_vcpu::max_guest_page_table_levels;
pub use arm_vgic::vtimer::get_sysreg_device;
}
}