implement monotonic for aarch64
This commit is contained in:
@@ -1,4 +1,11 @@
|
||||
use crate::time::NANOS_PER_SEC;
|
||||
|
||||
pub fn monotonic_absolute() -> u128 {
|
||||
//TODO: aarch64 generic timer counter
|
||||
*crate::time::OFFSET.lock()
|
||||
let ticks: usize;
|
||||
unsafe { core::arch::asm!("mrs {}, cntpct_el0", out(reg) ticks) };
|
||||
let freq: usize;
|
||||
unsafe { core::arch::asm!("mrs {}, cntfrq_el0", out(reg) freq) };
|
||||
|
||||
ticks as u128 * NANOS_PER_SEC / freq as u128
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user