diff options
| author | Prashanth Mundkur | 2018-07-11 15:34:37 -0700 |
|---|---|---|
| committer | Prashanth Mundkur | 2018-07-11 21:04:43 -0700 |
| commit | 374de34cbb22da437f856ac39154aabe72a651bb (patch) | |
| tree | 8f98faa268847220f7942565bcf5618f832ada77 /riscv | |
| parent | e3e2f7137be43771aace42694c8d5112f6849039 (diff) | |
Update the exception code for riscv LR after clarification on isa-dev.
Diffstat (limited to 'riscv')
| -rw-r--r-- | riscv/riscv.sail | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/riscv/riscv.sail b/riscv/riscv.sail index 27ec8a2f..ca30f4b4 100644 --- a/riscv/riscv.sail +++ b/riscv/riscv.sail @@ -790,8 +790,11 @@ function clause execute(LOADRES(aq, rl, rs1, width, rd)) = WORD => vaddr[1..0] == 0b00, DOUBLE => vaddr[2..0] == 0b000 } in + /* "LR faults like a normal load, even though it's in the AMO major opcode space." + - Andrew Waterman, isa-dev, 10 Jul 2018. + */ if (~ (aligned)) - then { handle_mem_exception(vaddr, E_SAMO_Addr_Align); false } + then { handle_mem_exception(vaddr, E_Load_Addr_Align); false } else match translateAddr(vaddr, Read, Data) { TR_Failure(e) => { handle_mem_exception(vaddr, e); false }, TR_Address(addr) => |
