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;

Reply via email to