Module Name: src
Committed By: matt
Date: Thu Jun 20 05:24:46 UTC 2013
Modified Files:
src/sys/arch/arm/include: vfpreg.h
src/sys/arch/arm/vfp: vfp_init.c
Log Message:
Add support for the Cortex-A15 Neon/VFP unit
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/include/vfpreg.h
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/vfp/vfp_init.c
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/vfpreg.h
diff -u src/sys/arch/arm/include/vfpreg.h:1.8 src/sys/arch/arm/include/vfpreg.h:1.9
--- src/sys/arch/arm/include/vfpreg.h:1.8 Tue Feb 12 15:05:26 2013
+++ src/sys/arch/arm/include/vfpreg.h Thu Jun 20 05:24:46 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: vfpreg.h,v 1.8 2013/02/12 15:05:26 matt Exp $ */
+/* $NetBSD: vfpreg.h,v 1.9 2013/06/20 05:24:46 matt Exp $ */
/*
* Copyright (c) 2008 ARM Ltd
@@ -63,6 +63,7 @@
#define FPU_VFP_CORTEXA7 0x41023070
#define FPU_VFP_CORTEXA8 0x410330c0
#define FPU_VFP_CORTEXA9 0x41033090
+#define FPU_VFP_CORTEXA15 0x410330f0
#define VFP_FPEXC_EX 0x80000000 /* EXception status bit */
#define VFP_FPEXC_EN 0x40000000 /* VFP Enable bit */
Index: src/sys/arch/arm/vfp/vfp_init.c
diff -u src/sys/arch/arm/vfp/vfp_init.c:1.19 src/sys/arch/arm/vfp/vfp_init.c:1.20
--- src/sys/arch/arm/vfp/vfp_init.c:1.19 Tue Feb 5 23:23:34 2013
+++ src/sys/arch/arm/vfp/vfp_init.c Thu Jun 20 05:24:46 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: vfp_init.c,v 1.19 2013/02/05 23:23:34 matt Exp $ */
+/* $NetBSD: vfp_init.c,v 1.20 2013/06/20 05:24:46 matt Exp $ */
/*
* Copyright (c) 2008 ARM Ltd
@@ -152,6 +152,7 @@ load_vfpregs(const struct vfpreg *fregs)
case FPU_VFP_CORTEXA7:
case FPU_VFP_CORTEXA8:
case FPU_VFP_CORTEXA9:
+ case FPU_VFP_CORTEXA15:
#endif
load_vfpregs_hi(fregs->vfp_regs);
#ifdef CPU_ARM11
@@ -172,6 +173,7 @@ save_vfpregs(struct vfpreg *fregs)
case FPU_VFP_CORTEXA7:
case FPU_VFP_CORTEXA8:
case FPU_VFP_CORTEXA9:
+ case FPU_VFP_CORTEXA15:
#endif
save_vfpregs_hi(fregs->vfp_regs);
#ifdef CPU_ARM11
@@ -376,6 +378,7 @@ vfp_attach(void)
case FPU_VFP_CORTEXA7:
case FPU_VFP_CORTEXA8:
case FPU_VFP_CORTEXA9:
+ case FPU_VFP_CORTEXA15:
model = "NEON MPE (VFP 3.0+)";
cpu_neon_present = 1;
break;
@@ -539,6 +542,7 @@ vfp_state_load(lwp_t *l, u_int flags)
case FPU_VFP_CORTEXA7:
case FPU_VFP_CORTEXA8:
case FPU_VFP_CORTEXA9:
+ case FPU_VFP_CORTEXA15:
write_fpinst2(fregs->vfp_fpinst2);
write_fpinst(fregs->vfp_fpinst);
break;
@@ -588,6 +592,7 @@ vfp_state_save(lwp_t *l, u_int flags)
case FPU_VFP_CORTEXA7:
case FPU_VFP_CORTEXA8:
case FPU_VFP_CORTEXA9:
+ case FPU_VFP_CORTEXA15:
fregs->vfp_fpinst = read_fpinst();
fregs->vfp_fpinst2 = read_fpinst2();
break;