From 54697370c7b100af5958de4a58644dcf797850bb Mon Sep 17 00:00:00 2001 From: tracer-ics2023 Date: Sat, 14 Sep 2024 20:29:36 +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=2020:29:35=20up=202=20days,?= =?UTF-8?q?=2010:43,=20=201=20user,=20=20load=20average:=201.25,=200.64,?= =?UTF-8?q?=200.47?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- abstract-machine/am/src/platform/nemu/include/nemu.h | 7 +++++++ abstract-machine/am/src/platform/nemu/ioe/input.c | 1 + abstract-machine/am/src/platform/nemu/ioe/timer.c | 9 +-------- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/abstract-machine/am/src/platform/nemu/include/nemu.h b/abstract-machine/am/src/platform/nemu/include/nemu.h index 0030772..56718a0 100644 --- a/abstract-machine/am/src/platform/nemu/include/nemu.h +++ b/abstract-machine/am/src/platform/nemu/include/nemu.h @@ -47,4 +47,11 @@ typedef uintptr_t PTE; #define PGSIZE 4096 +#define PNT_BITS(num, sz, head) do { \ + putch(head); \ + for (uint8_t size = sz; size; size --) \ + putch('0' + ((num >> (size - 1)) & 1)); \ + putch('\n'); \ + } while (0) + #endif diff --git a/abstract-machine/am/src/platform/nemu/ioe/input.c b/abstract-machine/am/src/platform/nemu/ioe/input.c index cebafa7..2217c9b 100644 --- a/abstract-machine/am/src/platform/nemu/ioe/input.c +++ b/abstract-machine/am/src/platform/nemu/ioe/input.c @@ -6,4 +6,5 @@ void __am_input_keybrd(AM_INPUT_KEYBRD_T *kbd) { kbd->keycode = inl(KBD_ADDR); kbd->keydown = 0; // kbd->keycode & KEYDOWN_MASK; + PNT_BITS(kbd->keycode, 32, 'K'); } diff --git a/abstract-machine/am/src/platform/nemu/ioe/timer.c b/abstract-machine/am/src/platform/nemu/ioe/timer.c index 8a0daa7..a4cd5fa 100644 --- a/abstract-machine/am/src/platform/nemu/ioe/timer.c +++ b/abstract-machine/am/src/platform/nemu/ioe/timer.c @@ -3,13 +3,6 @@ #define GET_TIME() ((uint64_t) (uint32_t)inl(RTC_ADDR) | ((uint64_t) (uint32_t)inl(RTC_ADDR + 4) << 32)) -#define PNT_BITS(num) do { \ - putch('T'); \ - for (uint8_t size = 64; size; size --) \ - putch('0' + ((num >> (size - 1)) & 1)); \ - putch('\n'); \ - } while (0) - uint64_t __timer_start; void __am_timer_init() { @@ -18,7 +11,7 @@ void __am_timer_init() { void __am_timer_uptime(AM_TIMER_UPTIME_T *uptime) { (*(volatile AM_TIMER_UPTIME_T *)uptime).us = GET_TIME() - __timer_start; - //PNT_BITS(uptime->us); + //PNT_BITS(uptime->us, 64, 'T'); } void __am_timer_rtc(AM_TIMER_RTC_T *rtc) {