#![no_std]
#![doc = include_str!("../README.md")]
#[cfg(feature = "vmx")]
#[macro_use]
extern crate log;
#[cfg(not(feature = "vmx"))]
extern crate log;
extern crate alloc;
#[cfg(test)]
mod test_utils;
pub(crate) mod msr;
#[cfg(feature = "vmx")]
#[macro_use]
pub(crate) mod regs;
mod ept;
#[cfg(not(feature = "vmx"))]
pub(crate) mod regs;
cfg_if::cfg_if! {
if #[cfg(feature = "vmx")] {
mod vmx;
use vmx as vender;
pub use vmx::{VmxExitInfo, VmxExitReason, VmxInterruptInfo, VmxIoExitInfo};
pub use vender::VmxArchVCpu;
pub use vender::VmxArchPerCpuState;
}
}
pub use ept::GuestPageWalkInfo;
pub use regs::GeneralRegisters;
#[cfg(feature = "vmx")]
pub use vender::has_hardware_support;
#[cfg(not(feature = "vmx"))]
pub fn has_hardware_support() -> bool {
false
}