提交 ce6f7448 编写于 作者: Z Zihao Yu

Merge branch 'fix-riscv64-mmu' into 'rv64'

riscv64,mmu: fix wrong mode for sv39

See merge request projectn/nemu!19
...@@ -60,13 +60,13 @@ static inline paddr_t page_translate(vaddr_t addr, bool is_write) { ...@@ -60,13 +60,13 @@ static inline paddr_t page_translate(vaddr_t addr, bool is_write) {
} }
word_t isa_vaddr_read(vaddr_t addr, int len) { word_t isa_vaddr_read(vaddr_t addr, int len) {
assert(satp->mode == 0 || satp->mode == 4); assert(satp->mode == 0 || satp->mode == 8);
paddr_t paddr = (satp->mode == 4 ? page_translate(addr, false) : addr); paddr_t paddr = (satp->mode == 8 ? page_translate(addr, false) : addr);
return paddr_read(paddr, len); return paddr_read(paddr, len);
} }
void isa_vaddr_write(vaddr_t addr, word_t data, int len) { void isa_vaddr_write(vaddr_t addr, word_t data, int len) {
assert(satp->mode == 0 || satp->mode == 4); assert(satp->mode == 0 || satp->mode == 8);
paddr_t paddr = (satp->mode == 4 ? page_translate(addr, true) : addr); paddr_t paddr = (satp->mode == 8 ? page_translate(addr, true) : addr);
paddr_write(paddr, data, len); paddr_write(paddr, data, len);
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册