diff options
author | Bill Traynor <wmat@riscv.org> | 2023-01-27 11:49:46 -0500 |
---|---|---|
committer | Bill Traynor <wmat@riscv.org> | 2023-01-27 11:49:46 -0500 |
commit | f06b86fb77cedb8dc536856cdde4307a75209a1c (patch) | |
tree | 1b3f368a36fddf4904d34d54cf85a42f0bcf1824 /src/priv-insns.adoc | |
parent | 13cc2e5405360dcbb900e685362334a7c7627240 (diff) | |
download | riscv-isa-manual-f06b86fb77cedb8dc536856cdde4307a75209a1c.zip riscv-isa-manual-f06b86fb77cedb8dc536856cdde4307a75209a1c.tar.gz riscv-isa-manual-f06b86fb77cedb8dc536856cdde4307a75209a1c.tar.bz2 |
Changed build-pdf to build-unpriv-pdf.
Renamed build-pdf.yml and added untracked files.
Diffstat (limited to 'src/priv-insns.adoc')
-rw-r--r-- | src/priv-insns.adoc | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/priv-insns.adoc b/src/priv-insns.adoc new file mode 100644 index 0000000..52ae5ed --- /dev/null +++ b/src/priv-insns.adoc @@ -0,0 +1,102 @@ +== RISC-V Privileged Instruction Set Listings + +This chapter presents instruction-set listings for all instructions +defined in the RISC-V Privileged Architecture. + +The instruction-set listings for unprivileged instructions, including +the ECALL and EBREAK instructions, are provided in Volume I of this +manual. + +.RISC-V Privileged Instructions +[cols="<,<,<,<,<,<,<,<,<,<,<,<",] +|=== +| | | | | | | | | | | | + +| | | | | | | | | | | | + +| |funct7 | | | |rs2 | |rs1 |funct3 |rd |opcode |R-type + +| |imm[11:0] | | | | | |rs1 |funct3 |rd |opcode |I-type + +| | | | | | | | | | | | + +| |*Trap-Return Instructions* | | | | | | | | | | + +| |0001000 | | | |00010 | |00000 |000 |00000 |1110011 |SRET + +| |0011000 | | | |00010 | |00000 |000 |00000 |1110011 |MRET + +| |0111000 | | | |00010 | |00000 |000 |00000 |1110011 |MNRET + +| | | | | | | | | | | | + +| |*Interrupt-Management Instructions* | | | | | | | | | | + +| |0001000 | | | |00101 | |00000 |000 |00000 |1110011 |WFI + +| | | | | | | | | | | | + +| |*Supervisor Memory-Management Instructions* | | | | | | | | | | + +| |0001001 | | | |rs2 | |rs1 |000 |00000 |1110011 |SFENCE.VMA + +| | | | | | | | | | | | + +| |*Hypervisor Memory-Management Instructions* | | | | | | | | | | + +| |0010001 | | | |rs2 | |rs1 |000 |00000 |1110011 |HFENCE.VVMA + +| |0110001 | | | |rs2 | |rs1 |000 |00000 |1110011 |HFENCE.GVMA + +| | | | | | | | | | | | + +| |*Hypervisor Virtual-Machine Load and Store Instructions* | | | | | | +| | | | + +| |0110000 | | | |00000 | |rs1 |100 |rd |1110011 |HLV.B + +| |0110000 | | | |00001 | |rs1 |100 |rd |1110011 |HLV.BU + +| |0110010 | | | |00000 | |rs1 |100 |rd |1110011 |HLV.H + +| |0110010 | | | |00001 | |rs1 |100 |rd |1110011 |HLV.HU + +| |0110100 | | | |00000 | |rs1 |100 |rd |1110011 |HLV.W + +| |0110010 | | | |00011 | |rs1 |100 |rd |1110011 |HLVX.HU + +| |0110100 | | | |00011 | |rs1 |100 |rd |1110011 |HLVX.WU + +| |0110001 | | | |rs2 | |rs1 |100 |00000 |1110011 |HSV.B + +| |0110011 | | | |rs2 | |rs1 |100 |00000 |1110011 |HSV.H + +| |0110101 | | | |rs2 | |rs1 |100 |00000 |1110011 |HSV.W + +| | | | | | | | | | | | + +| |*Hypervisor Virtual-Machine Load and Store Instructions, RV64 only* | +| | | | | | | | | + +| |0110100 | | | |00001 | |rs1 |100 |rd |1110011 |HLV.WU + +| |0110110 | | | |00000 | |rs1 |100 |rd |1110011 |HLV.D + +| |0110111 | | | |rs2 | |rs1 |100 |00000 |1110011 |HSV.D + +| | | | | | | | | | | | + +| |*_Svinval_ Memory-Management Extension* | | | | | | | | | | + +| |0001011 | | | |rs2 | |rs1 |000 |00000 |1110011 |SINVAL.VMA + +| |0001100 | | | |00000 | |00000 |000 |00000 |1110011 |SFENCE.W.INVAL + +| |0001100 | | | |00001 | |00000 |000 |00000 |1110011 |SFENCE.INVAL.IR + +| |0010011 | | | |rs2 | |rs1 |000 |00000 |1110011 |HINVAL.VVMA + +| |0110011 | | | |rs2 | |rs1 |000 |00000 |1110011 |HINVAL.GVMA + +| | | | | | | | | | | | +|=== |