On Thu, Jun 05, 2025 at 09:18:05AM -0700, Jesse Taube wrote:
When handeling traps and faults it is offten necessary to know the size of the instruction at epc. Add RV_INSN_LEN to calculate the instruction size.
Signed-off-by: Jesse Taube jesse@rivosinc.com
lib/riscv/asm/processor.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/lib/riscv/asm/processor.h b/lib/riscv/asm/processor.h index 40104272..631ce226 100644 --- a/lib/riscv/asm/processor.h +++ b/lib/riscv/asm/processor.h @@ -7,6 +7,8 @@ #define EXCEPTION_CAUSE_MAX 24 #define INTERRUPT_CAUSE_MAX 16 +#define RV_INSN_LEN(insn) ((((insn) & 0x3) < 0x3) ? 2 : 4)
typedef void (*exception_fn)(struct pt_regs *); struct thread_info { -- 2.43.0
Merged. Thanks