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 {