[PATCH v2 3/6] riscv: insn: Support decoding of CBO instructions
"Yicong Yang" <[email protected]> Tue, 28 Jul 2026 17:46:24 +0800
| Newsgroups | org.infradead.lists.linux-riscv |
|---|---|
| Message-ID | <[email protected]> |
Add definitions for decoding CBO instructions. Rename RVG_OPCODE_FENCE to RVG_OPCODE_MISC_MEM as spec defines it as MISC-MEM and it's also used by CBO instructions. Signed-off-by: Yicong Yang <[email protected]> --- arch/riscv/include/asm/insn.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/riscv/include/asm/insn.h b/arch/riscv/include/asm/insn.h index c36d1dfa16c6..f6b32d8d558d 100644 --- a/arch/riscv/include/asm/insn.h +++ b/arch/riscv/include/asm/insn.h @@ -12,6 +12,7 @@ #define RV_INSN_FUNCT3_OPOFF 12 #define RV_INSN_OPCODE_MASK GENMASK(6, 0) #define RV_INSN_OPCODE_OPOFF 0 +#define RV_INSN_FUNCT12_MASK GENMASK(31, 20) #define RV_INSN_FUNCT12_OPOFF 20 #define RV_ENCODE_FUNCT3(f_) (RVG_FUNCT3_##f_ << RV_INSN_FUNCT3_OPOFF) @@ -135,7 +136,7 @@ #define RVC_C2_RS1_MASK GENMASK(4, 0) /* parts of opcode for RVG*/ -#define RVG_OPCODE_FENCE 0x0f +#define RVG_OPCODE_MISC_MEM 0x0f #define RVG_OPCODE_AUIPC 0x17 #define RVG_OPCODE_BRANCH 0x63 #define RVG_OPCODE_JALR 0x67 @@ -171,6 +172,7 @@ #define RVG_FUNCT3_JALR 0x0 #define RVG_FUNCT3_BEQ 0x0 #define RVG_FUNCT3_BNE 0x1 +#define RVG_FUNCT3_CBO 0x2 #define RVG_FUNCT3_BLT 0x4 #define RVG_FUNCT3_BGE 0x5 #define RVG_FUNCT3_BLTU 0x6 @@ -186,12 +188,14 @@ #define RVC_FUNCT4_C_EBREAK 0x9 #define RVG_FUNCT12_EBREAK 0x1 +#define RVG_FUNCT12_CBO_CLEAN 0x1 +#define RVG_FUNCT12_CBO_FLUSH 0x2 #define RVG_FUNCT12_SRET 0x102 #define RVG_MATCH_AUIPC (RVG_OPCODE_AUIPC) #define RVG_MATCH_JALR (RV_ENCODE_FUNCT3(JALR) | RVG_OPCODE_JALR) #define RVG_MATCH_JAL (RVG_OPCODE_JAL) -#define RVG_MATCH_FENCE (RVG_OPCODE_FENCE) +#define RVG_MATCH_FENCE (RVG_OPCODE_MISC_MEM) #define RVG_MATCH_BEQ (RV_ENCODE_FUNCT3(BEQ) | RVG_OPCODE_BRANCH) #define RVG_MATCH_BNE (RV_ENCODE_FUNCT3(BNE) | RVG_OPCODE_BRANCH) #define RVG_MATCH_BLT (RV_ENCODE_FUNCT3(BLT) | RVG_OPCODE_BRANCH) -- 2.50.1 (Apple Git-155) _______________________________________________ linux-riscv mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-riscv