From a3553f31e2f6a123a2f408f7043a911b20295a66 Mon Sep 17 00:00:00 2001 From: tracer-ics2023 Date: Sat, 14 Sep 2024 11:29:06 +0800 Subject: [PATCH] =?UTF-8?q?>=20=20compile=20NEMU=20221220000=20=E5=BC=A0?= =?UTF-8?q?=E4=B8=89=20Linux=20zzy=205.15.146.1-microsoft-standard-WSL2=20?= =?UTF-8?q?#1=20SMP=20Thu=20Jan=2011=2004:09:03=20UTC=202024=20x86=5F64=20?= =?UTF-8?q?x86=5F64=20x86=5F64=20GNU/Linux=20=2011:29:06=20up=202=20days,?= =?UTF-8?q?=20=201:42,=20=201=20user,=20=20load=20average:=200.80,=200.49,?= =?UTF-8?q?=200.36?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- abstract-machine/am/src/platform/nemu/ioe/timer.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/abstract-machine/am/src/platform/nemu/ioe/timer.c b/abstract-machine/am/src/platform/nemu/ioe/timer.c index 32f5070..4592be6 100644 --- a/abstract-machine/am/src/platform/nemu/ioe/timer.c +++ b/abstract-machine/am/src/platform/nemu/ioe/timer.c @@ -3,11 +3,14 @@ #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) { - uptime->us = GET_TIME(); + (*(volatile AM_TIMER_UPTIME_T *)uptime).us = GET_TIME() - __timer_start; } void __am_timer_rtc(AM_TIMER_RTC_T *rtc) {