aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/include/db_machdep.h
diff options
context:
space:
mode:
authorMitchell Horne <mhorne@FreeBSD.org>2021-03-01 14:00:17 +0000
committerMitchell Horne <mhorne@FreeBSD.org>2021-03-01 14:04:22 +0000
commitbd0b7cbf5ac1baff4211e09584e0b86d4d96228b (patch)
treeb1a754aac3716692fcf985053f29fa4c8d14ed31 /sys/arm64/include/db_machdep.h
parent874635e381731e1fbd5e2d0459ca87814f1e455c (diff)
downloadsrc-bd0b7cbf5ac1baff4211e09584e0b86d4d96228b.tar.gz
src-bd0b7cbf5ac1baff4211e09584e0b86d4d96228b.zip
arm64: update kdb_thrctx->pcb_lr with BKPT_SKIP
This value should be kept in sync with updates to kdb_frame->tf_elr, since it is queried by PC_REGS() in several places. Reviewed by: markj, jhb MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D28943
Diffstat (limited to 'sys/arm64/include/db_machdep.h')
-rw-r--r--sys/arm64/include/db_machdep.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/arm64/include/db_machdep.h b/sys/arm64/include/db_machdep.h
index f2fd2a57a9c3..61b58415e41c 100644
--- a/sys/arm64/include/db_machdep.h
+++ b/sys/arm64/include/db_machdep.h
@@ -49,8 +49,9 @@ typedef long db_expr_t;
#define BKPT_SIZE (4)
#define BKPT_SET(inst) (BKPT_INST)
-#define BKPT_SKIP do { \
- kdb_frame->tf_elr += BKPT_SIZE; \
+#define BKPT_SKIP do { \
+ kdb_frame->tf_elr += BKPT_SIZE; \
+ kdb_thrctx->pcb_lr += BKPT_SIZE; \
} while (0)
#define db_clear_single_step kdb_cpu_clear_singlestep