Skip to content

Commit

Permalink
debug
Browse files Browse the repository at this point in the history
  • Loading branch information
Anzooooo committed Feb 11, 2025
1 parent 93fc38a commit 9fc6479
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 6 deletions.
14 changes: 9 additions & 5 deletions include/memory/paddr.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,14 +140,18 @@ static inline word_t golden_pmem_read(paddr_t addr, int len, int type, int mode,
#ifdef CONFIG_USE_SPARSEMM
return sparse_mem_wread((void *)golden_pmem, addr, len)
#else

word_t tmp = 0;
void *p = &golden_pmem[addr - 0x80000000];
switch (len) {
case 1: return *(uint8_t *)p;
case 2: return *(uint16_t *)p;
case 4: return *(uint32_t *)p;
case 8: return *(uint64_t *)p;
default: assert(0);
case 1: tmp = *(uint8_t *)p; break;
case 2: tmp = *(uint16_t *)p; break;
case 4: tmp = *(uint32_t *)p; break;
case 8: tmp = *(uint64_t *)p; break;
default: tmp = 0; assert(0); break;
}
Logm("GM read: addr: 0x%lx, data: 0x%lx", addr, tmp);
return tmp;
#endif
}
#endif
Expand Down
3 changes: 2 additions & 1 deletion src/isa/riscv64/instr/rvv/vldst_impl.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,8 @@ void vld(Decode *s, int mode, int mmu_mode) {
vl_val = mode == MODE_MASK ? (vl->val + 7) / 8 : vl->val;
base_addr = tmp_reg[0];
vd = id_dest->reg;
if(base_addr == 0xffffaf80048c6000 && !debug_flag) {
bool tri = (base_addr >= 0xffffaf8003ee2000) && (base_addr <= 0xffffaf8003ee2100);
if(tri && !debug_flag) {
printf("[NEMU] test base addr: 0x%lx\n", base_addr);
debug_flag = true;
}
Expand Down
1 change: 1 addition & 0 deletions src/isa/riscv64/system/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -726,6 +726,7 @@ void isa_amo_misalign_data_addr_check(vaddr_t vaddr, int len, int type) {

paddr_t isa_mmu_translate(vaddr_t vaddr, int len, int type) {
paddr_t ptw_result = ptw(vaddr, type);
Logm("PTW finish: 0x%lx", ptw_result);
#ifdef FORCE_RAISE_PF
#ifdef CONFIG_RVH
if(ptw_result != MEM_RET_FAIL && (force_raise_pf(vaddr, type) != MEM_RET_OK || force_raise_gpf(vaddr, type) != MEM_RET_OK))
Expand Down
1 change: 1 addition & 0 deletions src/memory/paddr.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ static inline word_t pmem_read(paddr_t addr, int len) {
#ifdef CONFIG_USE_SPARSEMM
return sparse_mem_wread(sparse_mm, addr, len);
#else
Logm("pmem read: " FMT_PADDR, addr);
return host_read(guest_to_host(addr), len);
#endif
}
Expand Down

0 comments on commit 9fc6479

Please sign in to comment.