> compile NEMU

ysyx_22040000 李心杨
Linux calcite 6.6.19 #1-NixOS SMP PREEMPT_DYNAMIC Fri Mar  1 12:35:11 UTC 2024 x86_64 GNU/Linux
 17:21:13  up   6:57,  2 users,  load average: 0.43, 0.45, 0.45
This commit is contained in:
tracer-ysyx 2024-03-13 17:21:13 +08:00 committed by xinyangli
parent 5608d9ecfc
commit 5cf348aff6

View file

@ -51,15 +51,19 @@ void init_mem() {
}
word_t paddr_read(paddr_t addr, int len) {
IFDEF(CONFIG_MTRACE, Log("R " FMT_WORD "%d", addr, len));
if (likely(in_pmem(addr))) return pmem_read(addr, len);
IFDEF(CONFIG_DEVICE, return mmio_read(addr, len));
word_t result = 0;
if (likely(in_pmem(addr))) { result = pmem_read(addr, len); goto mtrace;}
IFDEF(CONFIG_DEVICE, result = mmio_read(addr, len); goto mtrace)
out_of_bound(addr);
return 0;
mtrace:
IFDEF(CONFIG_MTRACE, printf("R " FMT_WORD "%d D " FMT_WORD "\n", addr, len, result));
return result;
}
void paddr_write(paddr_t addr, int len, word_t data) {
IFDEF(CONFIG_MTRACE, Log("W " FMT_WORD "%d D" FMT_WORD, addr, len, data));
IFDEF(CONFIG_MTRACE, printf("W " FMT_WORD "%d D" FMT_WORD "\n", addr, len, data));
if (likely(in_pmem(addr))) { pmem_write(addr, len, data); return; }
IFDEF(CONFIG_DEVICE, mmio_write(addr, len, data); return);
out_of_bound(addr);