The instructions parsing macros were duplicated and one of them had different implementations, which is error prone. So let's consolidate those macros in asm/insn.h. v1: https://lore.kernel.org/linux-riscv/20250422082545.450453-1-alexghiti@xxxxxxxxxxxx/ v2: https://lore.kernel.org/linux-riscv/20250508082215.88658-1-alexghiti@xxxxxxxxxxxx/ v3: https://lore.kernel.org/linux-riscv/20250508125202.108613-1-alexghiti@xxxxxxxxxxxx/ Changes in v4: - Rebase on top of for-next (on top of 6.15-rc6) Changes in v3: - Fix patch 2 which caused build failures (linux riscv bot), but the patchset is exactly the same as v2 Changes in v2: - Rebase on top of 6.15-rc5 - Add RB tags - Define RV_X() using RV_X_mask() (Clément) - Remove unused defines (Clément) - Fix tabulations (Drew) Alexandre Ghiti (3): riscv: Fix typo EXRACT -> EXTRACT riscv: Strengthen duplicate and inconsistent definition of RV_X() riscv: Move all duplicate insn parsing macros into asm/insn.h arch/riscv/include/asm/insn.h | 206 ++++++++++++++++++++++--- arch/riscv/kernel/machine_kexec_file.c | 2 +- arch/riscv/kernel/traps_misaligned.c | 144 +---------------- arch/riscv/kernel/vector.c | 2 +- arch/riscv/kvm/vcpu_insn.c | 128 +-------------- 5 files changed, 188 insertions(+), 294 deletions(-) -- 2.39.2