aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2016-04-30 17:42:44 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2016-04-30 17:42:44 -0700
commit86c755bb975b20566b5a22cba3f3d04428713daf (patch)
tree29ce681fcfb20609801dc21db3df0ae3fd6eedd2
parent60f3a8e3bb6a8ddf53546c977a80763fae25d3da (diff)
downloadriscv-opcodes-86c755bb975b20566b5a22cba3f3d04428713daf.zip
riscv-opcodes-86c755bb975b20566b5a22cba3f3d04428713daf.tar.gz
riscv-opcodes-86c755bb975b20566b5a22cba3f3d04428713daf.tar.bz2
ERET -> xRET
-rw-r--r--opcodes7
-rw-r--r--opcodes-pseudo7
-rwxr-xr-xparse-opcodes2
3 files changed, 9 insertions, 7 deletions
diff --git a/opcodes b/opcodes
index 38ea6e7..7b6fc2a 100644
--- a/opcodes
+++ b/opcodes
@@ -113,9 +113,12 @@ lr.d rd rs1 24..20=0 aqrl 31..29=0 28..27=2 14..12=3 6..2=0x0B 1..0=3
sc.d rd rs1 rs2 aqrl 31..29=0 28..27=3 14..12=3 6..2=0x0B 1..0=3
# SYSTEM
-scall 11..7=0 19..15=0 31..20=0x000 14..12=0 6..2=0x1C 1..0=3
-sbreak 11..7=0 19..15=0 31..20=0x001 14..12=0 6..2=0x1C 1..0=3
+ecall 11..7=0 19..15=0 31..20=0x000 14..12=0 6..2=0x1C 1..0=3
+ebreak 11..7=0 19..15=0 31..20=0x001 14..12=0 6..2=0x1C 1..0=3
+uret 11..7=0 19..15=0 31..20=0x002 14..12=0 6..2=0x1C 1..0=3
sret 11..7=0 19..15=0 31..20=0x102 14..12=0 6..2=0x1C 1..0=3
+hret 11..7=0 19..15=0 31..20=0x202 14..12=0 6..2=0x1C 1..0=3
+mret 11..7=0 19..15=0 31..20=0x302 14..12=0 6..2=0x1C 1..0=3
sfence.vm 11..7=0 rs1 31..20=0x104 14..12=0 6..2=0x1C 1..0=3
wfi 11..7=0 19..15=0 31..20=0x105 14..12=0 6..2=0x1C 1..0=3
csrrw rd rs1 imm12 14..12=1 6..2=0x1C 1..0=3
diff --git a/opcodes-pseudo b/opcodes-pseudo
index 20c83ec..effae54 100644
--- a/opcodes-pseudo
+++ b/opcodes-pseudo
@@ -19,7 +19,6 @@
@rdtimeh rd 19..15=0 31..20=0xC81 14..12=2 6..2=0x1C 1..0=3
@rdinstreth rd 19..15=0 31..20=0xC82 14..12=2 6..2=0x1C 1..0=3
-# Krste can't decide how to name these instructions
-@ecall 11..7=0 19..15=0 31..20=0x000 14..12=0 6..2=0x1C 1..0=3
-@ebreak 11..7=0 19..15=0 31..20=0x001 14..12=0 6..2=0x1C 1..0=3
-@eret 11..7=0 19..15=0 31..20=0x100 14..12=0 6..2=0x1C 1..0=3
+# Old names for ecall/ebreak
+@scall 11..7=0 19..15=0 31..20=0x000 14..12=0 6..2=0x1C 1..0=3
+@sbreak 11..7=0 19..15=0 31..20=0x001 14..12=0 6..2=0x1C 1..0=3
diff --git a/parse-opcodes b/parse-opcodes
index fbbabde..d19b33f 100755
--- a/parse-opcodes
+++ b/parse-opcodes
@@ -632,7 +632,7 @@ def make_supervisor_latex_table():
print_insts('csrrw', 'csrrs', 'csrrc')
print_insts('csrrwi', 'csrrsi', 'csrrci')
print_subtitle('Instructions to Change Privilege Level')
- print_insts('ecall', 'ebreak', 'eret')
+ print_insts('ecall', 'ebreak', 'uret', 'sret', 'hret', 'mret')
print_subtitle('Interrupt-Management Instructions')
print_insts('wfi')
print_subtitle('Memory-Management Instructions')