aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arm64/arm64/vfp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arm64/arm64/vfp.c b/sys/arm64/arm64/vfp.c
index bcddebfaf66e..64f13458e2d9 100644
--- a/sys/arm64/arm64/vfp.c
+++ b/sys/arm64/arm64/vfp.c
@@ -934,6 +934,9 @@ get_arm64_sve(struct regset *rs, struct thread *td, void *buf,
pcb = td->td_pcb;
+ if (td == curthread && (pcb->pcb_fpflags & PCB_FP_STARTED) != 0)
+ vfp_save_state(td, pcb);
+
/* If there is no SVE support in HW then we don't support NT_ARM_SVE */
if (pcb->pcb_sve_len == 0)
return (false);
@@ -955,9 +958,6 @@ get_arm64_sve(struct regset *rs, struct thread *td, void *buf,
KASSERT(*sizep == sizeof(struct svereg_header) + buf_size,
("%s: invalid size", __func__));
- if (td == curthread && (pcb->pcb_fpflags & PCB_FP_STARTED) != 0)
- vfp_save_state(td, pcb);
-
header = buf;
memset(header, 0, sizeof(*header));