git: 4de5dace1ace - stable/14 - riscv: Save gp in the trapframe in both modes
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 11 Oct 2023 15:44:27 UTC
The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4de5dace1acee104ecacc34e37a17f98d194164c commit 4de5dace1acee104ecacc34e37a17f98d194164c Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2023-09-05 16:04:54 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2023-10-11 15:10:32 +0000 riscv: Save gp in the trapframe in both modes Similar to d95fbf4e1a12565908b04b442263fe60c9e890b4, always save gp in the trapframe even though it is only restored when returning to user mode. This is mostly a debugging aid so that dump_regs() doesn't print out random stack garbage as the value of gp for kernel faults (e.g. sysctl debug.kdb.trap=1) as well as keeping kgdb's trapframe unwinder from reporting bogus values of $gp for lower frames. Reviewed by: mhorne, jrtc27, markj Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D41699 (cherry picked from commit 3b35d2a8af43c2e3ea8cb5e1363ac87ec5eadeaf) --- sys/riscv/riscv/exception.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/riscv/riscv/exception.S b/sys/riscv/riscv/exception.S index 1aee009a4e00..8acb5cd691d4 100644 --- a/sys/riscv/riscv/exception.S +++ b/sys/riscv/riscv/exception.S @@ -43,9 +43,9 @@ sd ra, (TF_RA)(sp) sd tp, (TF_TP)(sp) + sd gp, (TF_GP)(sp) .if \mode == 0 /* We came from userspace. */ - sd gp, (TF_GP)(sp) .option push .option norelax /* Load the kernel's global pointer */