
221220000 张三 Linux zzy 5.15.146.1-microsoft-standard-WSL2 #1 SMP Thu Jan 11 04:09:03 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux 11:29:06 up 2 days, 1:42, 1 user, load average: 0.80, 0.49, 0.36
24 lines
516 B
C
24 lines
516 B
C
#include <am.h>
|
|
#include <nemu.h>
|
|
|
|
#define GET_TIME() ((uint64_t) (uint32_t)inl(RTC_ADDR) | ((uint64_t) (uint32_t)inl(RTC_ADDR + 4) << 32))
|
|
|
|
uint64_t __timer_start;
|
|
|
|
void __am_timer_init() {
|
|
__timer_start = GET_TIME();
|
|
}
|
|
|
|
void __am_timer_uptime(AM_TIMER_UPTIME_T *uptime) {
|
|
(*(volatile AM_TIMER_UPTIME_T *)uptime).us = GET_TIME() - __timer_start;
|
|
}
|
|
|
|
void __am_timer_rtc(AM_TIMER_RTC_T *rtc) {
|
|
rtc->second = 0;
|
|
rtc->minute = 0;
|
|
rtc->hour = 0;
|
|
rtc->day = 0;
|
|
rtc->month = 0;
|
|
rtc->year = 1900;
|
|
}
|