summaryrefslogtreecommitdiffstats
path: root/sys/arm/include
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2013-06-13 21:31:33 +0000
committerandrew <andrew@FreeBSD.org>2013-06-13 21:31:33 +0000
commitbacc92868f0a1415d16a6e6e7a1166549e2854be (patch)
treebc84b58a39b79aae5b280932f3d93c93ec35d5fc /sys/arm/include
parent84a32e0176a64131ef5179f211f6ae5ab1d4d029 (diff)
downloadFreeBSD-src-bacc92868f0a1415d16a6e6e7a1166549e2854be.zip
FreeBSD-src-bacc92868f0a1415d16a6e6e7a1166549e2854be.tar.gz
Fix the vfp code to work with the 16 register variants of the VFP unit. We
check which variant we are on, and if it is a VFPv3 or v4, and has 32 double registers we save these. This fixes VFP support on Raspberry Pi. While here clean fmrx and fmxr up to use the register names from vfp.h as opposed to the raw register names.
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/vfp.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arm/include/vfp.h b/sys/arm/include/vfp.h
index 94c24a9..623f0d0 100644
--- a/sys/arm/include/vfp.h
+++ b/sys/arm/include/vfp.h
@@ -47,7 +47,9 @@
#define VFPSID_SUBVERSION_OFF 16
#define VFPSID_SUBVERSION2_MASK (0x000f0000) /* version 1 and 2 */
#define VFPSID_SUBVERSION3_MASK (0x007f0000) /* version 3 */
-#define VFP_ARCH3 (0x00030000)
+#define VFP_ARCH1 0x0
+#define VFP_ARCH2 0x1
+#define VFP_ARCH3 0x2
#define VFPSID_PARTNUMBER_OFF 8
#define VFPSID_PARTNUMBER_MASK (0x0000ff00)
#define VFPSID_VARIANT_OFF 4
OpenPOWER on IntegriCloud