Use ARM virtual timer to fix HVF acceleration

This commit is contained in:
Wildan Mubarok
2025-08-16 11:20:48 +00:00
parent 39cb82d91d
commit e071bdcef4
@@ -86,22 +86,22 @@ pub unsafe fn cntfreq_el0() -> u32 {
pub unsafe fn tmr_ctrl() -> u32 {
let ret: usize;
asm!("mrs {}, cntp_ctl_el0", out(reg) ret);
asm!("mrs {}, cntv_ctl_el0", out(reg) ret);
ret as u32
}
pub unsafe fn tmr_ctrl_write(val: u32) {
asm!("msr cntp_ctl_el0, {}", in(reg) val as usize);
asm!("msr cntv_ctl_el0, {}", in(reg) val as usize);
}
pub unsafe fn tmr_tval() -> u32 {
let ret: usize;
asm!("mrs {0}, cntp_tval_el0", out(reg) ret);
asm!("mrs {0}, cntv_tval_el0", out(reg) ret);
ret as u32
}
pub unsafe fn tmr_tval_write(val: u32) {
asm!("msr cntp_tval_el0, {}", in(reg) val as usize);
asm!("msr cntv_tval_el0, {}", in(reg) val as usize);
}
pub unsafe fn midr() -> u32 {