From d6a8a8eee703c2ac9b56839c453ad5c81f266c0a Mon Sep 17 00:00:00 2001 From: cheapie Date: Mon, 9 Nov 2026 17:48:11 -0600 Subject: Add Zkne, Zknd, and Zksed (and by extension, Zkn, Zks, and Zk) --- doc/_start_here.txt | 9 ++++++++- doc/instructions.txt | 10 ++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/_start_here.txt b/doc/_start_here.txt index bf83857..fe40724 100644 --- a/doc/_start_here.txt +++ b/doc/_start_here.txt @@ -5,7 +5,7 @@ RVController is a program for use in Luacontrollers (from the mesecons mod) in L It emulates a single RISC-V hart and a configurable amount (64KiB default) of RAM. Features: -* RV32IMACBZicboz_Zicfilp_Zicntr_Zicond_Zicsr_Zifencei_Zihintpause_Zihpm_Zilsd_Zimop_Zabha_Zacas_Zalasr_Zawrs_Zcb_Zclsd_Zcmop_Zcmp_Zcmt_Zbc_Zbkb_Zbkc_Zbkx_Zknh_Zkr_Zksh_Xh3bextm_Xh3misa instruction set provides: +* RV32IMACBZicboz_Zicfilp_Zicntr_Zicond_Zicsr_Zifencei_Zihintpause_Zihpm_Zilsd_Zimop_Zabha_Zacas_Zalasr_Zawrs_Zcb_Zclsd_Zcmop_Zcmp_Zcmt_Zbc_Zk_Zkr_Zks_Xh3bextm_Xh3misa instruction set provides: - 32-bit address space - 32 32-bit registers (31 general-purpose + 1 zero register) - Selectable endianness @@ -78,10 +78,17 @@ RVController is intended to be compliant with the following specifications: * "Zawrs" Extension for Wait-on-Reservation-Set instructions, Version 1.01 * Zbkb: Extension for Bit-manipulation for Cryptography, Version 1.0.0 * Zbkx: Extension for Crossbar permutations, Version 1.0.0 +* Zknd - NIST Suite: AES Decryption, Version 1.0.1 +* Zkne - NIST Suite: AES Encryption, Version 1.0.1 * Zknh - NIST Suite: Hash Function, Version 1.0.1 +* Zksed - ShangMi Suite: SM4 Block Cipher Instructions, Version 1.0.1 * Zkr - Entropy Source Extension, Version 1.0.1 - Note: Virtual source, backed by Lua math.random(), 16 bits available per clock cycle * Zksh - ShangMi Suite: SM3 Hash Function, Version 1.0.1 +* Zkn - NIST Algorithm Suite, Version 1.0.1 +* Zks - ShangMi Algorithm Suite, Version 1.0.1 +* Zk - Standard scalar cryptography extension, Version 1.0.1 +* Zkt - Data Independent Execution Latency, Version 1.0.1 * Zicfilp: Control Flow Integrity - Landing Pad * Xh3misa: Hazard3 ISA identification register, Version 1.0 - Note: Defined in the Hazard3 reference manual, available at https://github.com/Wren6991/Hazard3/releases/download/v1.1/hazard3.pdf diff --git a/doc/instructions.txt b/doc/instructions.txt index 49d9147..a45bfc5 100644 --- a/doc/instructions.txt +++ b/doc/instructions.txt @@ -298,6 +298,16 @@ Zbkx: Extension for Crossbar permutations, Version 1.0.0 * xperm4 rd,rs1,rs2 | Crossbar permutation (nibbles) * xperm8 rd,rs1,rs2 | Crossbar permutation (bytes) +Zknd - NIST Suite: AES Decryption +* aes32dsi rd,rs1,rs2,bs | AES final round decrypt +* aes32dsmi rd,rs1,rs2,bs | AES middle round decrypt +* aes32esi rd,rs1,rs2,bs | AES final round encrypt +* aes32esmi rd,rs1,rs2,bs | AES middle round encrypt + +Zksed - ShangMi Suite: SM4 Block Cipher Instructions +* sm4ed rd,rs1,rs2,bs | SM4 encrypt/decrypt +* sm4ks rd,rs1,rs2,bs | SM4 key schedule + Zknh - NIST Suite: Hash Function * sha256sig0 rd,rs1 | SHA2-256 Sigma0 * sha256sig1 rd,rs1 | SHA2-256 Sigma1 -- cgit v1.2.3