diff options
author | Andrew Waterman <waterman@s144.Millennium.Berkeley.EDU> | 2011-04-09 20:03:07 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@s144.Millennium.Berkeley.EDU> | 2011-04-09 20:03:07 -0700 |
commit | c8de0ef0fa04e6e7dfeae86e64dad1604610df62 (patch) | |
tree | 99403005f8888d779f777e08f176495ebbd8df63 /riscv/mmu.h | |
parent | 3c6275887f0cd321fec861dafd3bd405e992897a (diff) | |
download | spike-c8de0ef0fa04e6e7dfeae86e64dad1604610df62.zip spike-c8de0ef0fa04e6e7dfeae86e64dad1604610df62.tar.gz spike-c8de0ef0fa04e6e7dfeae86e64dad1604610df62.tar.bz2 |
[xcc, sim] added rvc insn c.li; misc fixes
Diffstat (limited to 'riscv/mmu.h')
-rw-r--r-- | riscv/mmu.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/riscv/mmu.h b/riscv/mmu.h index 5d516bc..efaea3e 100644 --- a/riscv/mmu.h +++ b/riscv/mmu.h @@ -25,7 +25,10 @@ public: uint16_t hi = *(uint16_t*)(mem+addr+2); insn_t insn; - insn.bits = ((uint32_t)hi << 16) | lo; + insn.bits = lo; + if((lo & 0x3) == 0x3) + insn.bits |= (uint32_t)hi << 16; + return insn; } |