mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-30 10:43:56 +00:00
Refactor project structure
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
bd878dd1c9
commit
e3c227ae06
24
kernel/comps/time/src/rtc.rs
Normal file
24
kernel/comps/time/src/rtc.rs
Normal file
@ -0,0 +1,24 @@
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
use core::sync::atomic::{AtomicU8, Ordering::Relaxed};
|
||||
|
||||
use aster_frame::arch::x86::device::cmos::{get_century_register, CMOS_ADDRESS, CMOS_DATA};
|
||||
|
||||
pub(crate) static CENTURY_REGISTER: AtomicU8 = AtomicU8::new(0);
|
||||
|
||||
pub fn init() {
|
||||
let Some(century_register) = get_century_register() else {
|
||||
return;
|
||||
};
|
||||
CENTURY_REGISTER.store(century_register, Relaxed);
|
||||
}
|
||||
|
||||
pub fn get_cmos(reg: u8) -> u8 {
|
||||
CMOS_ADDRESS.write(reg);
|
||||
CMOS_DATA.read()
|
||||
}
|
||||
|
||||
pub fn is_updating() -> bool {
|
||||
CMOS_ADDRESS.write(0x0A);
|
||||
CMOS_DATA.read() & 0x80 != 0
|
||||
}
|
Reference in New Issue
Block a user