pub(super) fn mtime(_hartid: usize) ->u64 {
	unsafe {
		read_volatile((BASE + offset::MTIME) as *const u64)
	}
}
// mtime and mtimecmp may differ from hart, so it is necessary to specify hartid
mtime and mtimecmp may differ from hart, so it is necessary to specify hartid
mtime and mtimecmp may differ from hart so it is necessary to specify hartid
pub(super) fn mtime(_hartid: usize) ->u64 {
	unsafe {
		read_volatile((BASE + offset::MTIME) as *const u64)
	}
}
pub ( super ) fn mtime ( _hartid : usize ) -> u64 { unsafe { read_volatile ( ( BASE + offset :: MTIME ) as * const u64 ) } }
mtime and mtimecmp may differ from hart, so it is necessary to specify hartid
mtime and mtimecmp may differ from hart so it is necessary to specify hartid
_hartid
usize