Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix descriptions #473

Merged
merged 4 commits into from
Dec 11, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 32 additions & 32 deletions src/csv/CHERI_ISA.csv
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
"Mnemonic","RV32","RV64","Base ISA (I/E)","Zish4add","Zabhlrsc","{cheri_default_ext_name}","{cheri_base_ext_name}","Valid Modes","A","Zicbo[mpz]","Zba","C or Zca","Zcb","Zcf","Zcd","Zcmp","Zcmt","Zfh","F","D","V","H","XLEN dependent encoding","funct3","major opcode","Format","{cheri_int_mode_name} mnemonic RV32","{cheri_int_mode_name} mnemonic RV64","Function","illegal insn if (1)","OR illegal insn if (2)","OR illegal insn if (3)","illegal insn if (4)","illegal insn if (5)","illegal insn if (6)","illegal insn if (7)","illegal insn if (8)"
"LC","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","3","MISC_MEM","I-type","","","Load cap via int pointer","","","","","","","",""
"SC","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","STORE","S-type","","","Store cap via int pointer","","","","","","","",""
"C.LCSP","✔","✔","","","","","✔","{cheri_cap_mode_name}","","","","✔","","","","","","","","","","","✔","","C2","","C.FLWSP","C.FLDSP","Load cap capability, SP relative ","","","","","","","",""
"C.SCSP","✔","✔","","","","","✔","{cheri_cap_mode_name}","","","","✔","","","","","","","","","","","✔","","C2","","C.FSWSP","C.FSDSP","Store cap capability, SP relative ","","","","","","","",""
"C.LC","✔","✔","","","","","✔","{cheri_cap_mode_name}","","","","✔","","","","","","","","","","","✔","","C0","","C.FLW","C.FLD","Load cap capability","","","","","","","",""
"C.SC","✔","✔","","","","","✔","{cheri_cap_mode_name}","","","","✔","","","","","","","","","","","✔","","C0","","C.FSW","C.FSD","Store cap capability ","","","","","","","",""
"C.LWSP","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Load word capability, SP relative","","","","","","","",""
"C.SWSP","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Store word capability, SP relative","","","","","","","",""
"C.LW","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Load word capability","","","","","","","",""
"C.SW","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Store word capability ","","","","","","","",""
"C.LD","","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Load word capability","","","","","","","",""
"C.SD","","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Store word capability ","","","","","","","",""
"C.LDSP","","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Load word capability","","","","","","","",""
"C.SDSP","","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Store word capability ","","","","","","","",""
"LC","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","3","MISC_MEM","I-type","","","Load capability","","","","","","","",""
"SC","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","STORE","S-type","","","Store capability","","","","","","","",""
"C.LCSP","✔","✔","","","","","✔","{cheri_cap_mode_name}","","","","✔","","","","","","","","","","","✔","","C2","","C.FLWSP","C.FLDSP","Load capability, SP relative ","","","","","","","",""
"C.SCSP","✔","✔","","","","","✔","{cheri_cap_mode_name}","","","","✔","","","","","","","","","","","✔","","C2","","C.FSWSP","C.FSDSP","Store capability, SP relative ","","","","","","","",""
"C.LC","✔","✔","","","","","✔","{cheri_cap_mode_name}","","","","✔","","","","","","","","","","","✔","","C0","","C.FLW","C.FLD","Load capability","","","","","","","",""
"C.SC","✔","✔","","","","","✔","{cheri_cap_mode_name}","","","","✔","","","","","","","","","","","✔","","C0","","C.FSW","C.FSD","Store capability ","","","","","","","",""
"C.LWSP","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Load word, SP relative","","","","","","","",""
"C.SWSP","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Store word, SP relative","","","","","","","",""
"C.LW","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Load word","","","","","","","",""
"C.SW","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Store word","","","","","","","",""
"C.LD","","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Load double","","","","","","","",""
"C.SD","","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Store double","","","","","","","",""
"C.LDSP","","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Load double, SP relative","","","","","","","",""
"C.SDSP","","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","Store double, SP relative","","","","","","","",""
"LB","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","0","LOAD","","","","Load signed byte ","","","","","","","",""
"LH","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","1","LOAD","","","","Load signed half ","","","","","","","",""
"C.LH","✔","✔","","","","✔","✔","Both","","","","","✔","","","","","","","","","","","","C0","","","","Load signed half ","","","","","","","",""
Expand All @@ -30,8 +30,8 @@
"SW","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","STORE","","","","Store word ","","","","","","","",""
"SD","","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","STORE","","","","Store double ","","","","","","","",""
"AUIPC","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","AUIPC","","","","Add immediate to PCC address","","","","","","","",""
"CADD","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","R-type","","","Increment cap address by register, representability check","","","","","","","",""
"CADDI","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","I-type","","","Increment cap address by immediate, representability check","","","","","","","",""
"CADD","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","R-type","","","Increment capability address by register, representability check","","","","","","","",""
"CADDI","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","I-type","","","Increment capability address by immediate, representability check","","","","","","","",""
"SCADDR","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","R-type","","","Replace capability address, representability check","","","","","","","",""
"GCTAG","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","1-src 1-dst","","","Get tag field","","","","","","","",""
"GCPERM","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","1-src 1-dst","","","Get hperm and uperm fields as 1-bit per permission, packed together","","","","","","","",""
Expand All @@ -54,15 +54,15 @@
"GCMODE","✔","✔","","","","✔","","Both","","","","","","","","","","","","","","","","","OP","1-src 1-dst","","","Get the mode bit of a capability, no permissions required","","","","","","","",""
"MODESW.CAP","✔","✔","","","","✔","","Both","","","","","","","","","","","","","","","","","OP","no operands","","","Directly switch mode into {cheri_cap_mode_name}","","","","","","","",""
"MODESW.INT","✔","✔","","","","✔","","Both","","","","","","","","","","","","","","","","","OP","no operands","","","Directly switch mode into {cheri_int_mode_name}","","","","","","","",""
"C.ADDI16SP","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","ADD immediate to stack pointer, CADD in Capability Mode","","","","","","","",""
"C.ADDI4SPN","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","ADD immediate to stack pointer, CADDI in Capability Mode","","","","","","","",""
"C.MV","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Register Move, cap reg move in Capability Mode","","","","","","","",""
"C.ADDI16SP","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","ADD immediate to stack pointer in {cheri_int_mode_name}, CADD in {cheri_cap_mode_name}","","","","","","","",""
"C.ADDI4SPN","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C0","","","","ADD immediate to stack pointer in {cheri_int_mode_name}, CADD in {cheri_cap_mode_name}","","","","","","","",""
"C.MV","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Integer register move in {cheri_int_mode_name}, capability register move in {cheri_cap_mode_name}","","","","","","","",""
"C.J","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Jump to PC+offset, bounds check minimum size target instruction","mode==D (optional)","","","","","","",""
"C.JAL","✔","","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Jump to PC+offset, bounds check minimum size target instruction, link to cd","mode==D (optional)","","","","","","",""
"JAL","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","JAL","","","","Jump to PC+offset, bounds check minimum size target instruction, link to cd","mode==D (optional)","","","","","","",""
"JALR","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","JALR","","","","Indirect cap jump and link, bounds check minimum size target instruction, unseal target cap, seal link cap","mode==D (optional)","","","","","","",""
"C.JALR","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Indirect cap jump and link, bounds check minimum size target instruction, unseal target cap, seal link cap","mode==D (optional)","","","","","","",""
"C.JR","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Indirect cap jump, bounds check minimum size target instruction, unseal target cap","mode==D (optional)","","","","","","",""
"JALR","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","","","","JALR","","","","Indirect jump and link, bounds check minimum size target instruction. In {cheri_cap_mode_name} set PCC=unseal(cs1),cd=seal(nextPCC)","mode==D (optional)","","","","","","",""
"C.JALR","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Indirect jump and link, bounds check minimum size target instruction. In {cheri_cap_mode_name} set PCC=unseal(cs1),cd=seal(nextPCC)","mode==D (optional)","","","","","","",""
"C.JR","✔","✔","","","","✔","✔","Both","","","","✔","","","","","","","","","","","","","C2","","","","Indirect jump, bounds check minimum size target instruction. In {cheri_cap_mode_name} set PCC=unseal(cs1)","mode==D (optional)","","","","","","",""
"DRET","✔","✔","✔","","","✔","✔","Both","","","","","","","","","","","","","","","","","SYSTEM","","","","Return from debug mode, sets <<ddc>> from <<dddc>> and <<pcc>> from <<dpcc>>","MODE<D","","","","","","",""
"MRET","✔","✔","✔","","","✔","✔","Both","","","","","","","","","","","","","","","","","SYSTEM","","","","Return from machine mode handler, sets <<pcc>> from <<mtvecc>> , needs <<asr_perm>>","MODE<M","PCC.ASR==0","","","","","",""
"SRET","✔","✔","✔","","","✔","✔","Both","","","","","","","","","","","","","","","","","SYSTEM","","","","Return from supervisor mode handler, sets <<pcc>> from <<stvecc>>, needs <<asr_perm>>","MODE<S","PCC.ASR==0","mstatus.TSR==1 AND MODE==S","","","","",""
Expand Down Expand Up @@ -118,15 +118,15 @@
"CM.MVA01S","✔","✔","","","","✔","✔","Both","","","","","","","","✔","","","","","","","","","C2","","","","Move two integer registers","","","","","","","",""
"CM.JALT","✔","✔","","","","✔","✔","Both","","","","","","","","","✔","","","","","","","","C2","","","","Table jump and link","","","","","","","",""
"CM.JT","✔","✔","","","","✔","✔","Both","","","","","","","","","✔","","","","","","","","C2","","","","Table jump","","","","","","","",""
"ADD.UW","","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","add unsigned words, representability check in Capability Mode","","","","","","","",""
"SH1ADD","✔","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add, representability check in Capability Mode","","","","","","","",""
"SH1ADD.UW","","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add unsigned words, representability check in Capability Mode","","","","","","","",""
"SH2ADD","✔","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add, representability check in Capability Mode","","","","","","","",""
"SH2ADD.UW","","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add unsigned words, representability check in Capability Mode","","","","","","","",""
"SH3ADD","✔","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add, representability check in Capability Mode","","","","","","","",""
"SH3ADD.UW","","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add unsigned words, representability check in Capability Mode","","","","","","","",""
"SH4ADD","","✔","","✔","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","","","","shift and add, representability check in Capability Mode","","","","","","","",""
"SH4ADD.UW","","✔","","✔","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","","","","shift and add unsigned words, representability check in Capability Mode","","","","","","","",""
"ADD.UW","","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","add unsigned words, representability check in {cheri_cap_mode_name}","","","","","","","",""
"SH1ADD","✔","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add, representability check in {cheri_cap_mode_name}","","","","","","","",""
"SH1ADD.UW","","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add unsigned words, representability check in {cheri_cap_mode_name}","","","","","","","",""
"SH2ADD","✔","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add, representability check in {cheri_cap_mode_name}","","","","","","","",""
"SH2ADD.UW","","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add unsigned words, representability check in {cheri_cap_mode_name}","","","","","","","",""
"SH3ADD","✔","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add, representability check in {cheri_cap_mode_name}","","","","","","","",""
"SH3ADD.UW","","✔","","","","✔","✔","Both","","","✔","","","","","","","","","","","","","","OP","","","","shift and add unsigned words, representability check in {cheri_cap_mode_name}","","","","","","","",""
"SH4ADD","","✔","","✔","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","","","","shift and add, representability check in {cheri_cap_mode_name}","","","","","","","",""
"SH4ADD.UW","","✔","","✔","","✔","✔","Both","","","","","","","","","","","","","","","","","OP","","","","shift and add unsigned words, representability check in {cheri_cap_mode_name}","","","","","","","",""
"HLV.B","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","✔","","","SYSTEM","","","","Hypervisor virtual machine load byte","V=1","MODE==U AND hstatus.HU=0","","","","","",""
"HLV.BU","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","✔","","","SYSTEM","","","","Hypervisor virtual machine load unsigned byte","V=1","MODE==U AND hstatus.HU=0","","","","","",""
"HLV.H","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","✔","","","SYSTEM","","","","Hypervisor virtual machine load half word","V=1","MODE==U AND hstatus.HU=0","","","","","",""
Expand All @@ -141,4 +141,4 @@
"HSV.D","","✔","","","","✔","✔","Both","","","","","","","","","","","","","","✔","","","SYSTEM","","","","Hypervisor virtual machine store double","V=1","MODE==U AND hstatus.HU=0","","","","","",""
"HSV.C","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","✔","","","SYSTEM","","","","Hypervisor virtual machine store capability","V=1","MODE==U AND hstatus.HU=0","","","","","",""
"HLVX.HU","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","✔","","","SYSTEM","","","","Hypervisor virtual machine load half word from executable memory","V=1","MODE==U AND hstatus.HU=0","","","","","",""
"HLVX.WU","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","✔","","","SYSTEM","","","","Hypervisor virtual machine load wordfrom executable memory","V=1","MODE==U AND hstatus.HU=0","","","","","",""
"HLVX.WU","✔","✔","","","","✔","✔","Both","","","","","","","","","","","","","","✔","","","SYSTEM","","","","Hypervisor virtual machine load word from executable memory","V=1","MODE==U AND hstatus.HU=0","","","","","",""
Loading