svn commit: r346777 - in head/sys/powerpc: aim include powerpc

Justin Hibbits jhibbits at FreeBSD.org
Sat Apr 27 02:33:51 UTC 2019


Author: jhibbits
Date: Sat Apr 27 02:33:49 2019
New Revision: 346777
URL: https://svnweb.freebsd.org/changeset/base/346777

Log:
  powerpc: Add POWER8NVL definition
  
  The POWER8NVL (POWER8 NVLink) architecturally behaves identically to the
  POWER8, with a different PVR identifier.  Mark it as such, so it shows up
  appropriately to the user.
  
  Reported by:	Alexey Kardashevskiy
  MFC after:	2 weeks

Modified:
  head/sys/powerpc/aim/aim_machdep.c
  head/sys/powerpc/aim/mp_cpudep.c
  head/sys/powerpc/include/spr.h
  head/sys/powerpc/powerpc/cpu.c

Modified: head/sys/powerpc/aim/aim_machdep.c
==============================================================================
--- head/sys/powerpc/aim/aim_machdep.c	Sat Apr 27 02:24:58 2019	(r346776)
+++ head/sys/powerpc/aim/aim_machdep.c	Sat Apr 27 02:33:49 2019	(r346777)
@@ -213,6 +213,7 @@ aim_early_init(vm_offset_t fdt, vm_offset_t toc, vm_of
 		case IBMPOWER7PLUS:
 		case IBMPOWER8:
 		case IBMPOWER8E:
+		case IBMPOWER8NVL:
 		case IBMPOWER9:
 			/* XXX: get from ibm,slb-size in device tree */
 			n_slbs = 32;

Modified: head/sys/powerpc/aim/mp_cpudep.c
==============================================================================
--- head/sys/powerpc/aim/mp_cpudep.c	Sat Apr 27 02:24:58 2019	(r346776)
+++ head/sys/powerpc/aim/mp_cpudep.c	Sat Apr 27 02:33:49 2019	(r346777)
@@ -85,6 +85,7 @@ cpudep_ap_early_bootstrap(void)
 		break;
 	case IBMPOWER8:
 	case IBMPOWER8E:
+	case IBMPOWER8NVL:
 	case IBMPOWER9:
 #ifdef __powerpc64__
 		if (mfmsr() & PSL_HV) {
@@ -404,6 +405,7 @@ cpudep_ap_setup()
 	case IBMPOWER7PLUS:
 	case IBMPOWER8:
 	case IBMPOWER8E:
+	case IBMPOWER8NVL:
 	case IBMPOWER9:
 #ifdef __powerpc64__
 		if (mfmsr() & PSL_HV) {

Modified: head/sys/powerpc/include/spr.h
==============================================================================
--- head/sys/powerpc/include/spr.h	Sat Apr 27 02:24:58 2019	(r346776)
+++ head/sys/powerpc/include/spr.h	Sat Apr 27 02:33:49 2019	(r346777)
@@ -188,6 +188,7 @@
 #define	  IBMPOWERPCA2		  0x0049
 #define	  IBMPOWER7PLUS		  0x004a
 #define	  IBMPOWER8E		  0x004b
+#define	  IBMPOWER8NVL		  0x004c
 #define	  IBMPOWER8		  0x004d
 #define	  IBMPOWER9		  0x004e
 #define	  MPC860		  0x0050

Modified: head/sys/powerpc/powerpc/cpu.c
==============================================================================
--- head/sys/powerpc/powerpc/cpu.c	Sat Apr 27 02:24:58 2019	(r346776)
+++ head/sys/powerpc/powerpc/cpu.c	Sat Apr 27 02:33:49 2019	(r346777)
@@ -171,6 +171,13 @@ static const struct cputab models[] = {
 	   PPC_FEATURE2_ARCH_2_07 | PPC_FEATURE2_HTM | PPC_FEATURE2_DSCR | 
 	   PPC_FEATURE2_ISEL | PPC_FEATURE2_TAR | PPC_FEATURE2_HAS_VEC_CRYPTO |
 	   PPC_FEATURE2_HTM_NOSC, cpu_powerx_setup },
+        { "IBM POWER8NVL",	IBMPOWER8NVL,	REVFMT_MAJMIN,
+	   PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU |
+	   PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | PPC_FEATURE_ARCH_2_05 |
+	   PPC_FEATURE_ARCH_2_06 | PPC_FEATURE_HAS_VSX | PPC_FEATURE_TRUE_LE,
+	   PPC_FEATURE2_ARCH_2_07 | PPC_FEATURE2_HTM | PPC_FEATURE2_DSCR | 
+	   PPC_FEATURE2_ISEL | PPC_FEATURE2_TAR | PPC_FEATURE2_HAS_VEC_CRYPTO |
+	   PPC_FEATURE2_HTM_NOSC, cpu_powerx_setup },
         { "IBM POWER8",		IBMPOWER8,	REVFMT_MAJMIN,
 	   PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU |
 	   PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | PPC_FEATURE_ARCH_2_05 |
@@ -670,6 +677,7 @@ cpu_powerx_setup(int cpuid, uint16_t vers)
 	switch (vers) {
 	case IBMPOWER8:
 	case IBMPOWER8E:
+	case IBMPOWER8NVL:
 		cpu_idle_hook = cpu_idle_powerx;
 		mtspr(SPR_LPCR, mfspr(SPR_LPCR) | LPCR_PECE_WAKESET);
 		isync();


More information about the svn-src-head mailing list