Module Name: src
Committed By: matt
Date: Fri Dec 7 18:49:13 UTC 2012
Modified Files:
src/sys/arch/arm/include: mcontext.h reg.h
Log Message:
Extend vfpreg to include all 32 64-bit FP registers.
For __ARM_EABI__, define __vfp_fstmx to have space for all 32 32-bit
FP registers (It's a newly supported ABI so we can "break" binary
compatibility.
To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/include/mcontext.h
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/include/reg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/include/mcontext.h
diff -u src/sys/arch/arm/include/mcontext.h:1.12 src/sys/arch/arm/include/mcontext.h:1.13
--- src/sys/arch/arm/include/mcontext.h:1.12 Wed Dec 5 19:05:46 2012
+++ src/sys/arch/arm/include/mcontext.h Fri Dec 7 18:49:13 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.12 2012/12/05 19:05:46 matt Exp $ */
+/* $NetBSD: mcontext.h,v 1.13 2012/12/07 18:49:13 matt Exp $ */
/*-
* Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
@@ -76,9 +76,15 @@ typedef struct {
} __fpregset_t;
typedef struct {
+#ifdef __ARM_EABI__
+ unsigned int __vfp_fpscr;
+ uint64_t __vfp_fstmx[32];
+ unsigned int __vfp_fpsid;
+#else
unsigned int __vfp_fpscr;
unsigned int __vfp_fstmx[33];
unsigned int __vfp_fpsid;
+#endif
} __vfpregset_t;
typedef struct {
Index: src/sys/arch/arm/include/reg.h
diff -u src/sys/arch/arm/include/reg.h:1.3 src/sys/arch/arm/include/reg.h:1.4
--- src/sys/arch/arm/include/reg.h:1.3 Wed Dec 5 19:05:46 2012
+++ src/sys/arch/arm/include/reg.h Fri Dec 7 18:49:13 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: reg.h,v 1.3 2012/12/05 19:05:46 matt Exp $ */
+/* $NetBSD: reg.h,v 1.4 2012/12/07 18:49:13 matt Exp $ */
/*
* Copyright (C) 1994, 1995 Frank Lancaster
@@ -51,7 +51,7 @@ struct vfpreg {
uint32_t vfp_fpscr;
uint32_t vfp_fpinst;
uint32_t vfp_fpinst2;
- uint32_t vfp_regs[33]; /* In case we need fstmx format. */
+ uint64_t vfp_regs[33]; /* In case we need fstmx format. */
};
struct fpreg {