From 85e1ea48064b45f74ebb2acae07ec79141e5ac0a Mon Sep 17 00:00:00 2001 From: tracer-ics2023 Date: Sat, 14 Sep 2024 12:55:29 +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=2012:55:29=20up=202=20days,?= =?UTF-8?q?=20=203:09,=20=201=20user,=20=20load=20average:=200.55,=200.48,?= =?UTF-8?q?=200.44?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/src/device/timer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nemu/src/device/timer.c b/nemu/src/device/timer.c index 9e680ec..e53fe4b 100644 --- a/nemu/src/device/timer.c +++ b/nemu/src/device/timer.c @@ -19,13 +19,12 @@ static uint32_t *rtc_port_base = NULL; -__attribute_noinline__ static void rtc_io_handler(uint32_t offset, int len, bool is_write) { assert(offset == 0 || offset == 4); if (!is_write && offset == 4) { uint64_t us = get_time(); - ((volatile uint32_t*)rtc_port_base)[0] = (uint32_t)us; - ((volatile uint32_t*)rtc_port_base)[1] = us >> 32; + rtc_port_base[0] = (uint32_t)us; + rtc_port_base[1] = us >> 32; } } @@ -40,6 +39,7 @@ static void timer_intr() { void init_timer() { rtc_port_base = (uint32_t *)new_space(8); + get_time(); #ifdef CONFIG_HAS_PORT_IO add_pio_map ("rtc", CONFIG_RTC_PORT, rtc_port_base, 8, rtc_io_handler); #else