Page MenuHomeFreeBSD

dtrace: handle NOP instructions in RISC-V
ClosedPublic

Authored by christos on Apr 10 2023, 12:38 PM.
Tags
Referenced Files
F88265398: D39481.id120078.diff
Sat, Jul 13, 7:04 AM
Unknown Object (File)
May 10 2024, 6:18 PM
Unknown Object (File)
Feb 1 2024, 9:30 PM
Unknown Object (File)
Jan 12 2024, 12:39 AM
Unknown Object (File)
Dec 30 2023, 10:45 PM
Unknown Object (File)
Nov 28 2023, 5:36 AM
Unknown Object (File)
Nov 7 2023, 7:34 PM
Unknown Object (File)
Sep 16 2023, 2:24 PM
Subscribers

Details

Summary

dtrace_invop_start() was panicking if the provider returned
MATCH_C_NOP (DTRACE_INVOP_NOP).

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/cddl/dev/dtrace/riscv/dtrace_subr.c
275

It looks like fbt_invop() returns the original instruction, rather than using the DTRACE_INVOP_* constants. In particular, fbt->fbt_rval is not used anywhere.

We should thus return a nop instruction and match it the way other instructions are matched, rather than having multiple return types.

christos marked an inline comment as done.
christos retitled this revision from dtrace: handle DTRACE_INVOP_NOP in RISC-V to dtrace: handle NOP instructions in RISC-V.
christos edited the summary of this revision. (Show Details)
This revision is now accepted and ready to land.Apr 10 2023, 3:03 PM