2022-07-31 01:54:01 -05:00
|
|
|
use crate::kmain::TICK;
|
2022-04-11 17:23:11 -05:00
|
|
|
use core::sync::atomic::Ordering;
|
|
|
|
|
2022-03-11 17:13:41 -06:00
|
|
|
#[cfg(target_arch = "x86_64")]
|
|
|
|
pub fn fetch_time() -> f64 {
|
2022-07-29 06:13:26 -05:00
|
|
|
let time = x86_64::instructions::interrupts::without_interrupts(|| {
|
|
|
|
TICK.load(Ordering::Relaxed) as f64
|
|
|
|
});
|
2022-03-11 17:13:41 -06:00
|
|
|
time
|
|
|
|
}
|
|
|
|
|
|
|
|
#[cfg(target_arch = "riscv64")]
|
|
|
|
pub fn fetch_time() -> f64 {
|
|
|
|
let time = TICK.load(Ordering::Relaxed) as f64;
|
|
|
|
time
|
|
|
|
}
|