diff options
author | Christos Margiolis <christos@FreeBSD.org> | 2023-04-20 16:24:03 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2023-05-07 17:54:08 +0000 |
commit | facd3a41d9d1d27a2cd96ba855fc73b702caa3db (patch) | |
tree | da10b2bb61b2661213d99d47d820f9c8c7f8e75e | |
parent | 4d9000cb22a9b17df4815df5f34773cf8862383a (diff) | |
download | src-facd3a41d9d1d27a2cd96ba855fc73b702caa3db.tar.gz src-facd3a41d9d1d27a2cd96ba855fc73b702caa3db.zip |
dtrace: use dtrace_instr_size() in the riscv dtrace_subr.c
No functional change intended.
Reviewed by: mhorne, markj
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D39652
(cherry picked from commit 75081b9ed8e67c8443551828f1b5ccf3d449b41b)
-rw-r--r-- | sys/cddl/dev/dtrace/riscv/dtrace_subr.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/sys/cddl/dev/dtrace/riscv/dtrace_subr.c b/sys/cddl/dev/dtrace/riscv/dtrace_subr.c index f32bb3a2343e..3d43adb8a92f 100644 --- a/sys/cddl/dev/dtrace/riscv/dtrace_subr.c +++ b/sys/cddl/dev/dtrace/riscv/dtrace_subr.c @@ -190,8 +190,6 @@ dtrace_gethrestime(void) int dtrace_trap(struct trapframe *frame, u_int type) { - uint16_t insn; - /* * A trap can occur while DTrace executes a probe. Before * executing the probe, DTrace blocks re-scheduling and sets @@ -219,15 +217,10 @@ dtrace_trap(struct trapframe *frame, u_int type) /* * Offset the instruction pointer to the instruction - * following the one causing the fault. Check if the - * instruction is compressed or not. Standard - * instructions always have bits [1:0] == 11. + * following the one causing the fault. */ - insn = *(uint16_t *)frame->tf_sepc; - if (match_opcode(insn, 0x3, 0x3)) - frame->tf_sepc += INSN_SIZE; - else - frame->tf_sepc += INSN_C_SIZE; + frame->tf_sepc += + dtrace_instr_size((uint8_t *)frame->tf_sepc); return (1); default: |