On Thu, Jun 11, 2026 at 08:22:41AM +0200, Nam Cao wrote: > Charlie Jenkins via B4 Relay > <[email protected]> writes: > > This was again verified by checking all 32-bit values for each of these > > functions and checking that the two version have the same behavior. > > Your checking is missing some cases. branch instructions and c.jr are > broken. > > Btw, any chance that check can be added as a new kunit test case? I > wrote the CONFIG_RISCV_KPROBES_KUNIT, but that only tests some values.
Okay I looked back over my test cases and realized my mistakes. I was iterating through all possible 32-bit values and passing them into the new simulate_* functions and comparing the register state to the old simulate_* instructions. I missed the _pc + addr bug because the _pc value I was using was 0. I missed the simulate_c_jr ra bug because I was not checking ra. Since I was checking against the previous version it's not possible to do a straight one-to-one conversion to the kunit. I think it might be possible to do something similar but I will need to mess with that to determine a good way of doing it. - Charlie > > Nam

