Date: Fri, 31 Mar 2023 10:50:35 GMT From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 3a0cc6fe61ea - main - Handle the arm64 unknown exception separately Message-ID: <202303311050.32VAoZ09082786@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=3a0cc6fe61ea29334c17dfb71bf24ba9e604ab4c commit 3a0cc6fe61ea29334c17dfb71bf24ba9e604ab4c Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2023-03-31 09:15:45 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2023-03-31 09:15:45 +0000 Handle the arm64 unknown exception separately Rather than falling through to the default case handle the unknown exception with its own panic message. As ESR_EL1 is zero for this exception stop printing it. Sponsored by: Arm Ltd --- sys/arm64/arm64/trap.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 367a31cbe1de..0ee1bed0c35a 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -549,9 +549,11 @@ do_el1h_sync(struct thread *td, struct trapframe *frame) case EXCP_UNKNOWN: if (undef_insn(1, frame)) break; - printf("Undefined instruction: %08x\n", + print_registers(frame); + print_gp_register("far", far); + panic("Undefined instruction: %08x", *(uint32_t *)frame->tf_elr); - /* FALLTHROUGH */ + break; default: print_registers(frame); print_gp_register("far", far);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202303311050.32VAoZ09082786>