aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2017-02-20 21:50:40 -0800
committerAndrew Waterman <andrew@sifive.com>2017-02-20 21:50:40 -0800
commitee4249cf363837a8b5551aa6671a901a39786d2f (patch)
tree8b02fa2951cf0ff588b8df8ed26bd4c29ffeb685
parent689c591e0e7218732af884f0fac97e8ca2605cf8 (diff)
downloadriscv-opcodes-ee4249cf363837a8b5551aa6671a901a39786d2f.zip
riscv-opcodes-ee4249cf363837a8b5551aa6671a901a39786d2f.tar.gz
riscv-opcodes-ee4249cf363837a8b5551aa6671a901a39786d2f.tar.bz2
Remove sfence.vm and add sfence.vma
-rw-r--r--opcodes2
-rwxr-xr-xparse-opcodes8
2 files changed, 4 insertions, 6 deletions
diff --git a/opcodes b/opcodes
index e4cc6a6..ebf899f 100644
--- a/opcodes
+++ b/opcodes
@@ -120,7 +120,7 @@ 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
dret 11..7=0 19..15=0 31..20=0x7b2 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
+sfence.vma 11..7=0 rs1 rs2 31..25=0x09 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
csrrs rd rs1 imm12 14..12=2 6..2=0x1C 1..0=3
diff --git a/parse-opcodes b/parse-opcodes
index 0437480..3818309 100755
--- a/parse-opcodes
+++ b/parse-opcodes
@@ -675,8 +675,6 @@ def print_footer(caption=''):
""" % caption
def print_inst(n):
- is_system = (match[n] & 0x7f) == (match['scall'] & 0x7f)
-
if n == 'fence' or n == 'fence.i':
print_fence_type(n, match[n], arguments[n])
elif 'aqrl' in arguments[n]:
@@ -689,9 +687,9 @@ def print_inst(n):
print_u_type(n, match[n], arguments[n])
elif 'jimm20' in arguments[n]:
print_uj_type(n, match[n], arguments[n])
- elif is_system and n[:3] == 'csr':
+ elif n[:3] == 'csr':
print_csr_type(n, match[n], arguments[n])
- elif 'imm12' in arguments[n] or is_system:
+ elif 'imm12' in arguments[n] or n == 'ecall' or n == 'ebreak':
print_i_type(n, match[n], arguments[n])
elif 'imm12hi' in arguments[n]:
print_s_type(n, match[n], arguments[n])
@@ -713,7 +711,7 @@ def make_supervisor_latex_table():
print_subtitle('Interrupt-Management Instructions')
print_insts('wfi')
print_subtitle('Memory-Management Instructions')
- print_insts('sfence.vm')
+ print_insts('sfence.vma')
print_footer('\\caption{RISC-V Privileged Instructions}')
def make_latex_table():