aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64
diff options
context:
space:
mode:
authorOlivier Houchard <cognet@FreeBSD.org>2018-05-18 13:28:02 +0000
committerOlivier Houchard <cognet@FreeBSD.org>2018-05-18 13:28:02 +0000
commita9772d1a0ecb871d533efdec2e525e42bfbd1416 (patch)
tree36356b63ece8c2f00632f910b85d5925c55d2cf0 /sys/arm64
parent7a07dfbc7cac188462fc69bef41adcecf24d0633 (diff)
downloadsrc-a9772d1a0ecb871d533efdec2e525e42bfbd1416.tar.gz
src-a9772d1a0ecb871d533efdec2e525e42bfbd1416.zip
Instead of ignoring the VFP registers, set the dumppcb's pcb_fpusaved
field, so that they are saved, as they may be used in the kernel, in the EFI and the crypto code. Reviewed by: andrew
Notes
Notes: svn path=/head/; revision=333791
Diffstat (limited to 'sys/arm64')
-rw-r--r--sys/arm64/arm64/vfp.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/arm64/arm64/vfp.c b/sys/arm64/arm64/vfp.c
index b11e799fcdb6..983f0e6f7d43 100644
--- a/sys/arm64/arm64/vfp.c
+++ b/sys/arm64/arm64/vfp.c
@@ -172,12 +172,11 @@ vfp_save_state(struct thread *td, struct pcb *pcb)
/*
* savectx() will be called on panic with dumppcb as an argument,
- * dumppcb doesn't have pcb_fpusaved set so don't make any attempt
- * to store the VFP registers in it, we probably don't care much
- * at that point, anyway.
+ * dumppcb doesn't have pcb_fpusaved set, so set it to save
+ * the VFP registers.
*/
if (pcb->pcb_fpusaved == NULL)
- return;
+ pcb->pcb_fpusaved = &pcb->pcb_fpustate;
if (td == NULL)
td = curthread;