mod context_frame;
#[macro_use]
mod exception_utils;
mod exception;
mod host;
mod pcpu;
mod smc;
mod vcpu;
pub use self::{
host::{ArmHostIrqConfig, ArmHostIrqGuard, ArmHostOps},
pcpu::ArmPerCpu,
vcpu::{
ARM_VCPU_HOST_SP_EL0_OFFSET, ARM_VCPU_HOST_STACK_TOP_OFFSET, ARM_VCPU_TRAP_FRAME_SIZE,
ArmVcpu, ArmVcpuCreateConfig, ArmVcpuSetupConfig,
},
};
pub type TrapFrame = context_frame::Aarch64ContextFrame;
pub fn max_guest_page_table_levels() -> usize {
vcpu::max_gpt_level(vcpu::pa_bits())
}
pub fn pa_bits() -> usize {
vcpu::pa_bits()
}
pub const fn has_hardware_support() -> bool {
true
}