arm64: Clean up usage of the dtrace invop handler

- Don't consume the breakpoint if all invop handlers returned a non-zero
  value.
- Fix style nits.

MFC after:	2 weeks
Sponsored by:	Innovate UK

(cherry picked from commit 853cd8723494ccc2e972aaa09e7d04ede1508c95)
This commit is contained in:
Mark Johnston 2025-01-25 16:17:03 +00:00
parent 4a6d4cd763
commit f44f65ff03

View file

@ -538,11 +538,10 @@ do_el1h_sync(struct thread *td, struct trapframe *frame)
break;
case EXCP_BRK:
#ifdef KDTRACE_HOOKS
if ((esr & ESR_ELx_ISS_MASK) == 0x40d && \
dtrace_invop_jump_addr != 0) {
dtrace_invop_jump_addr(frame);
if ((esr & ESR_ELx_ISS_MASK) == 0x40d /* BRK_IMM16_VAL */ &&
dtrace_invop_jump_addr != NULL &&
dtrace_invop_jump_addr(frame) == 0)
break;
}
#endif
#ifdef KDB
kdb_trap(exception, 0, frame);