use ax_errno::AxResult;
use crate::{
AxVMPerCpu,
host::{HostCpu, default_host},
};
#[ax_percpu::def_percpu]
static mut AXVM_PER_CPU: AxVMPerCpu = AxVMPerCpu::new_uninit();
pub(crate) fn init_current_cpu() -> AxResult {
#[allow(static_mut_refs)]
let percpu = unsafe { AXVM_PER_CPU.current_ref_mut_raw() };
percpu.init(default_host().this_cpu_id())
}
pub(crate) fn enable_current_cpu() -> AxResult {
#[allow(static_mut_refs)]
let percpu = unsafe { AXVM_PER_CPU.current_ref_mut_raw() };
percpu.hardware_enable()
}