From c184fb801b30d419138a52dde7edccc9f4856028 Mon Sep 17 00:00:00 2001 From: Xuan Hu Date: Wed, 9 Oct 2024 17:22:25 +0800 Subject: [PATCH 1/2] Split hinval.vvma and hinval.gvma from rv_svinval to rv_svinval_h Because hinval.vvma and hinval.gvma can only be used legally when both Svinval and H extensions are supported, move them out from rv_svinval to rv_svinval_h. --- parse.py | 2 +- rv_svinval | 2 -- rv_svinval_h | 3 +++ 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 rv_svinval_h diff --git a/parse.py b/parse.py index 8a924e7e..da35d858 100755 --- a/parse.py +++ b/parse.py @@ -508,7 +508,7 @@ def create_inst_dict(file_filter, include_pseudo=False, include_pseudo_ops=[]): def make_priv_latex_table(): latex_file = open("priv-instr-table.tex", "w") type_list = ["R-type", "I-type"] - system_instr = ["_h", "_s", "_system", "_svinval", "64_h"] + system_instr = ["_h", "_s", "_system", "_svinval", "64_h", "svinval_h"] dataset_list = [(system_instr, "Trap-Return Instructions", ["sret", "mret"], False)] dataset_list.append( (system_instr, "Interrupt-Management Instructions", ["wfi"], False) diff --git a/rv_svinval b/rv_svinval index 152835b7..cb74e351 100644 --- a/rv_svinval +++ b/rv_svinval @@ -2,5 +2,3 @@ sinval.vma 11..7=0 rs1 rs2 31..25=0x0b 14..12=0 6..2=0x1C 1..0=3 sfence.w.inval 11..7=0 19..15=0x0 24..20=0x0 31..25=0x0c 14..12=0 6..2=0x1C 1..0=3 sfence.inval.ir 11..7=0 19..15=0x0 24..20=0x1 31..25=0x0c 14..12=0 6..2=0x1C 1..0=3 -hinval.vvma 11..7=0 rs1 rs2 31..25=0x13 14..12=0 6..2=0x1C 1..0=3 -hinval.gvma 11..7=0 rs1 rs2 31..25=0x33 14..12=0 6..2=0x1C 1..0=3 diff --git a/rv_svinval_h b/rv_svinval_h new file mode 100644 index 00000000..07085f9f --- /dev/null +++ b/rv_svinval_h @@ -0,0 +1,3 @@ +# Svinval +hinval.vvma 11..7=0 rs1 rs2 31..25=0x13 14..12=0 6..2=0x1C 1..0=3 +hinval.gvma 11..7=0 rs1 rs2 31..25=0x33 14..12=0 6..2=0x1C 1..0=3 From 2149f483f3624d9e5b904b7edd885b2590b5141f Mon Sep 17 00:00:00 2001 From: Jay Dev Jha Date: Fri, 11 Oct 2024 21:01:22 +0530 Subject: [PATCH 2/2] rectified issues for parsing correctly Signed-off-by: Jay Dev Jha --- parse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parse.py b/parse.py index da35d858..17cd5a2f 100755 --- a/parse.py +++ b/parse.py @@ -508,7 +508,7 @@ def create_inst_dict(file_filter, include_pseudo=False, include_pseudo_ops=[]): def make_priv_latex_table(): latex_file = open("priv-instr-table.tex", "w") type_list = ["R-type", "I-type"] - system_instr = ["_h", "_s", "_system", "_svinval", "64_h", "svinval_h"] + system_instr = ["_h", "_s", "_system", "_svinval", "64_h", "_svinval_h"] dataset_list = [(system_instr, "Trap-Return Instructions", ["sret", "mret"], False)] dataset_list.append( (system_instr, "Interrupt-Management Instructions", ["wfi"], False)