From 938574308414f90af337092215296a13a03e15c0 Mon Sep 17 00:00:00 2001 From: tracer-ysyx Date: Thu, 11 Jan 2024 22:40:01 +0800 Subject: [PATCH] =?UTF-8?q?>=20compile=20NEMU=20ysyx=5F22040000=20?= =?UTF-8?q?=E6=9D=8E=E5=BF=83=E6=9D=A8=20Linux=20calcite=206.1.69=20#1-Nix?= =?UTF-8?q?OS=20SMP=20PREEMPT=5FDYNAMIC=20Wed=20Dec=2020=2016:00:29=20UTC?= =?UTF-8?q?=202023=20x86=5F64=20GNU/Linux=20=2022:40:01=20=20up=203=20days?= =?UTF-8?q?=2021:40,=20=202=20users,=20=20load=20average:=201.22,=201.06,?= =?UTF-8?q?=200.98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/include/common.h | 1 + nemu/src/monitor/sdb/sdb.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/nemu/include/common.h b/nemu/include/common.h index ee3e429..fbffaa5 100644 --- a/nemu/include/common.h +++ b/nemu/include/common.h @@ -40,6 +40,7 @@ typedef MUXDEF(CONFIG_ISA64, int64_t, int32_t) sword_t; static const word_t WORD_T_MAX = MUXDEF(CONFIG_ISA64, UINT64_MAX, UINT32_MAX); static const sword_t SWORD_T_MAX = MUXDEF(CONFIG_ISA64, INT64_MAX, INT32_MAX); static const sword_t SWORD_T_MIN = MUXDEF(CONFIG_ISA64, INT64_MIN, INT32_MIN); +#define WORD_BYTES MUXDEF(CONFIG_ISA64, 8, 4) #define FMT_WORD MUXDEF(CONFIG_ISA64, "0x%016" PRIx64, "0x%08" PRIx32) typedef word_t vaddr_t; diff --git a/nemu/src/monitor/sdb/sdb.c b/nemu/src/monitor/sdb/sdb.c index 369784b..d1e00ec 100644 --- a/nemu/src/monitor/sdb/sdb.c +++ b/nemu/src/monitor/sdb/sdb.c @@ -189,10 +189,10 @@ static int cmd_x(char *args) { word_t addr = parse_expr(arg, &res); if (!res) goto wrong_usage; - printf("%d, %d\n", addr, MUXDEF(CONFIG_ISA64, 4, 8)); + printf("%d, %d\n", addr, WORD_BYTES); for (paddr_t paddr = addr; paddr < addr + n; - paddr += MUXDEF(CONFIG_ISA64, 4, 8)) { - word_t value = paddr_read(addr, MUXDEF(CONFIG_ISA64, 4, 8)); + paddr += WORD_BYTES) { + word_t value = paddr_read(addr, WORD_BYTES); printf(FMT_WORD "\n", value); } return 0;