Skip to main content

cu29_clock/
aarch64.rs

1pub fn initialize() {}
2
3#[inline(always)]
4pub fn read_raw_counter() -> u64 {
5    let mut counter: u64;
6    // SAFETY: Reading the virtual counter register is a side-effect-free CPU instruction.
7    unsafe {
8        core::arch::asm!("mrs {}, cntvct_el0", out(reg) counter);
9    }
10    counter
11}