summaryrefslogtreecommitdiff
path: root/sys/arch/arm/include
diff options
context:
space:
mode:
authorPatrick Wildt <patrick@cvs.openbsd.org>2019-03-13 09:28:22 +0000
committerPatrick Wildt <patrick@cvs.openbsd.org>2019-03-13 09:28:22 +0000
commit400a4c87723d72604378af58b4ab3ba0c8a0d470 (patch)
tree280e2d34aadb1ac57c78e1c7c41cc64b0ec4fcdc /sys/arch/arm/include
parenta681e57fb0028f0a018853f74b9a7dac955fd8c2 (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.h4
-rw-r--r--sys/arch/arm/include/vfp.h2
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 */