Use ARM virtual timer to fix HVF acceleration
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user