diff options
author | Patrick Wildt <patrick@cvs.openbsd.org> | 2019-03-13 09:28:22 +0000 |
---|---|---|
committer | Patrick Wildt <patrick@cvs.openbsd.org> | 2019-03-13 09:28:22 +0000 |
commit | 400a4c87723d72604378af58b4ab3ba0c8a0d470 (patch) | |
tree | 280e2d34aadb1ac57c78e1c7c41cc64b0ec4fcdc /sys/arch/arm/include | |
parent | a681e57fb0028f0a018853f74b9a7dac955fd8c2 (diff) |
Store whether or not the VFP was active on entering the unhandled
instruction trap and pass it to the VFP fault handler, so that it
knows if we faulted with the VFP active or disabled. Reading the
status in the VFP fault handler does not work since at that point
the VFP already got disabled.
ok kettenis@
Diffstat (limited to 'sys/arch/arm/include')
-rw-r--r-- | sys/arch/arm/include/undefined.h | 4 | ||||
-rw-r--r-- | sys/arch/arm/include/vfp.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/arm/include/undefined.h b/sys/arch/arm/include/undefined.h index b84670d2d6f..d9384755ee6 100644 --- a/sys/arch/arm/include/undefined.h +++ b/sys/arch/arm/include/undefined.h @@ -1,4 +1,4 @@ -/* $OpenBSD: undefined.h,v 1.3 2018/06/30 15:23:37 deraadt Exp $ */ +/* $OpenBSD: undefined.h,v 1.4 2019/03/13 09:28:21 patrick Exp $ */ /* $NetBSD: undefined.h,v 1.4 2001/12/20 01:20:23 thorpej Exp $ */ /* @@ -51,7 +51,7 @@ #include <sys/queue.h> -typedef int (*undef_handler_t) (unsigned int, unsigned int, trapframe_t *, int); +typedef int (*undef_handler_t) (unsigned int, unsigned int, trapframe_t *, int, uint32_t); #define FP_COPROC 1 #define FP_COPROC2 2 diff --git a/sys/arch/arm/include/vfp.h b/sys/arch/arm/include/vfp.h index ea639745452..5cbee5d271a 100644 --- a/sys/arch/arm/include/vfp.h +++ b/sys/arch/arm/include/vfp.h @@ -129,7 +129,7 @@ void vfp_init(void); void vfp_discard(struct proc *); -void vfp_save(void); +uint32_t vfp_save(void); void vfp_enable(void); #endif /* _KERNEL */ |