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
Show file tree
Hide file tree
Changes from 2 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
2 changes: 1 addition & 1 deletion src/csv/CHERI_CSR.csv
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,5 @@ direct write if address didn't change","","✔","","","{cheri_default_ext_name}"
"dinfc","0x7bd","","D","DRW","<<infinite-cap>>","Ignore","Ignore","","","","✔","Sdext","Source of <<infinite-cap>> capability in debug mode, writes are ignored","","","","","","","","","","","","","","","","","","","","",""
"utidc","0x480","utid","U","Read: U, Write: U, <<asr_perm>>","tag=0, otherwise undefined","Update the CSR using <<SCADDR>>.","direct write","","","","✔","Zstid","User thread ID","","","","","","","","","","","","","","","","","","","","",""
"stidc","0x580","stid","S","Read: S, Write: S, <<asr_perm>>","tag=0, otherwise undefined","Update the CSR using <<SCADDR>>.","direct write","","","","✔","Zstid","Supervisor thread ID","","","","","","","","","","","","","","","","","","","","",""
"vstidc","0xA80","vstid","H","Read: VS, Write: VS, <<asr_perm>>","tag=0, otherwise undefined","Update the CSR using <<SCADDR>>.","direct write","","","","✔","Zstid","Virtual supervisor thread ID","","","","","","","","","","","","","","","","","","","","",""
"vstidc","0xA80","vstid","H","Read: VS, Write: VS, <<asr_perm>>","tag=0, otherwise undefined","Update the CSR using <<SCADDR>>.","direct write","","","","✔","Zstid","Virtual supervisor thread ID","","","","","","","","","","","","","","","","","","","","",
tariqkurd-repo marked this conversation as resolved.
Show resolved Hide resolved
"mtidc","0x780","mtid","M","Read: M, Write: M, <<asr_perm>>","tag=0, otherwise undefined","Update the CSR using <<SCADDR>>.","direct write","","","","✔","Zstid","Machine thread ID","","","","","","","","","","","","","","","","","","","","",""
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","","","","","","","",""
"Indirect jump and link, bounds check minimum size target instruction, unseal target cap. In {cheri_cap_mode_name} set PCC to cs1 and seal link cap","✔","✔","","","","","✔","{cheri_cap_mode_name}","","","","✔","","","","","","","","","","","✔","","C2","","C.FLWSP","C.FLDSP","Load capability, SP relative ","","","","","","","",""
tariqkurd-repo marked this conversation as resolved.
Show resolved Hide resolved
"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