svn commit: r308073 - in head/sys/powerpc: include powerpc

Justin Hibbits jhibbits at FreeBSD.org
Sat Oct 29 01:24:31 UTC 2016


Author: jhibbits
Date: Sat Oct 29 01:24:30 2016
New Revision: 308073
URL: https://svnweb.freebsd.org/changeset/base/308073

Log:
  Add the SPE feature mask for e500v1 and e500v2
  
  On e500v2 SoCs it will now print:
  
  cpu0: Features 84e08000<PPC32,MMU,SPE,EFPS,EFPD,BOOKE>
  
  at bootup.

Modified:
  head/sys/powerpc/include/cpu.h
  head/sys/powerpc/powerpc/cpu.c

Modified: head/sys/powerpc/include/cpu.h
==============================================================================
--- head/sys/powerpc/include/cpu.h	Sat Oct 29 01:22:55 2016	(r308072)
+++ head/sys/powerpc/include/cpu.h	Sat Oct 29 01:24:30 2016	(r308073)
@@ -56,6 +56,9 @@ extern int cpu_features2;
 #define	PPC_FEATURE_HAS_FPU	0x08000000
 #define	PPC_FEATURE_HAS_MMU	0x04000000
 #define	PPC_FEATURE_UNIFIED_CACHE 0x01000000
+#define	PPC_FEATURE_HAS_SPE	0x00800000
+#define	PPC_FEATURE_HAS_EFP_SINGLE	0x00400000
+#define	PPC_FEATURE_HAS_EFP_DOUBLE	0x00200000
 #define	PPC_FEATURE_BOOKE	0x00008000
 #define	PPC_FEATURE_SMT		0x00004000
 #define	PPC_FEATURE_ARCH_2_05	0x00001000
@@ -70,7 +73,8 @@ extern int cpu_features2;
 #define	PPC_FEATURE_BITMASK						\
 	"\20"								\
 	"\040PPC32\037PPC64\035ALTIVEC\034FPU\033MMU\031UNIFIEDCACHE"	\
-	"\020BOOKE\017SMT\015ARCH205\013DFP\011ARCH206\010VSX"
+	"\030SPE\027SPESFP\026DPESFP\020BOOKE\017SMT\015ARCH205\013DFP"	\
+	"\011ARCH206\010VSX"
 #define	PPC_FEATURE2_BITMASK						\
 	"\20"								\
 	"\040ARCH207\037HTM\032VCRYPTO"

Modified: head/sys/powerpc/powerpc/cpu.c
==============================================================================
--- head/sys/powerpc/powerpc/cpu.c	Sat Oct 29 01:22:55 2016	(r308072)
+++ head/sys/powerpc/powerpc/cpu.c	Sat Oct 29 01:24:30 2016	(r308073)
@@ -180,9 +180,12 @@ static const struct cputab models[] = {
         { "Motorola PowerPC 8245",	MPC8245,	REVFMT_MAJMIN,
 	   PPC_FEATURE_HAS_FPU, 0, cpu_6xx_setup },
         { "Freescale e500v1 core",	FSL_E500v1,	REVFMT_MAJMIN,
-	   PPC_FEATURE_BOOKE, 0, cpu_booke_setup },
+	   PPC_FEATURE_BOOKE | PPC_FEATURE_HAS_SPE | PPC_FEATURE_HAS_EFP_SINGLE,
+	   0, cpu_booke_setup },
         { "Freescale e500v2 core",	FSL_E500v2,	REVFMT_MAJMIN,
-	   PPC_FEATURE_BOOKE, 0, cpu_booke_setup },
+	   PPC_FEATURE_BOOKE | PPC_FEATURE_HAS_SPE |
+	   PPC_FEATURE_HAS_EFP_SINGLE | PPC_FEATURE_HAS_EFP_DOUBLE, 0,
+	   cpu_booke_setup },
 	{ "Freescale e500mc core",	FSL_E500mc,	REVFMT_MAJMIN,
 	   PPC_FEATURE_BOOKE | PPC_FEATURE_HAS_FPU, 0, cpu_booke_setup },
 	{ "Freescale e5500 core",	FSL_E5500,	REVFMT_MAJMIN,


More information about the svn-src-all mailing list