forked from AbleOS/ableos
19 lines
392 B
Rust
19 lines
392 B
Rust
use core::sync::atomic::Ordering;
|
|
use kernel::TICK;
|
|
|
|
#[cfg(target_arch = "x86_64")]
|
|
pub fn fetch_time() -> f64 {
|
|
use x86_64::instructions::interrupts::{disable, enable};
|
|
|
|
disable();
|
|
let time = TICK.load(Ordering::Relaxed) as f64;
|
|
enable();
|
|
time
|
|
}
|
|
|
|
#[cfg(target_arch = "riscv64")]
|
|
pub fn fetch_time() -> f64 {
|
|
let time = TICK.load(Ordering::Relaxed) as f64;
|
|
time
|
|
}
|