> +             } else if (riscv_insn_is_c_jr(i)) {
> +                     u32 rs1_index = riscv_insn_c_jr_extract_xs1(i);
> +
> +                     simulate_c_jr(i, addr, &regs);
> +
> +                     KUNIT_EXPECT_EQ_MSG(test, regs.epc,
> +                                         riscv_insn_reg_get_val((unsigned 
> long *)&regs,
> +                                                                rs1_index),
> +                                         "c.jr instruction (0x%x) 
> incorrectly simulated", i);

Should we set a value to rs1, just like everything else?

> diff --git a/arch/riscv/kernel/tests/kprobes/test-kprobes.h 
> b/arch/riscv/kernel/tests/kprobes/test-kprobes.h
> index 537f44aa9d3f..7a672de8f130 100644
> --- a/arch/riscv/kernel/tests/kprobes/test-kprobes.h
> +++ b/arch/riscv/kernel/tests/kprobes/test-kprobes.h
> @@ -19,6 +19,12 @@ extern void *test_kprobes_addresses[];
>  /* array of functions that return KPROBE_TEST_MAGIC */
>  extern long (*test_kprobes_functions[])(void);
>  
> +void test_kprobes_arbitrary(void);
> +
> +extern unsigned int *test_kprobes_arbitrary_addr;
> +
> +extern unsigned int *test_kprobes_c_bnez_addr1;
> +

Are these declarations used somewhere?

Nam

Reply via email to