svn commit: r349686 - in stable/12/sys/powerpc: aim include powerpc

Justin Hibbits jhibbits at FreeBSD.org
Wed Jul 3 19:32:27 UTC 2019


Author: jhibbits
Date: Wed Jul  3 19:32:25 2019
New Revision: 349686
URL: https://svnweb.freebsd.org/changeset/base/349686

Log:
  MFC r346777:
  
  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

Modified:
  stable/12/sys/powerpc/aim/aim_machdep.c
  stable/12/sys/powerpc/aim/mp_cpudep.c
  stable/12/sys/powerpc/include/spr.h
  stable/12/sys/powerpc/powerpc/cpu.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/powerpc/aim/aim_machdep.c
==============================================================================
--- stable/12/sys/powerpc/aim/aim_machdep.c	Wed Jul  3 19:31:47 2019	(r349685)
+++ stable/12/sys/powerpc/aim/aim_machdep.c	Wed Jul  3 19:32:25 2019	(r349686)
@@ -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: stable/12/sys/powerpc/aim/mp_cpudep.c
==============================================================================
--- stable/12/sys/powerpc/aim/mp_cpudep.c	Wed Jul  3 19:31:47 2019	(r349685)
+++ stable/12/sys/powerpc/aim/mp_cpudep.c	Wed Jul  3 19:32:25 2019	(r349686)
@@ -89,6 +89,7 @@ cpudep_ap_early_bootstrap(void)
 		break;
 	case IBMPOWER8:
 	case IBMPOWER8E:
+	case IBMPOWER8NVL:
 	case IBMPOWER9:
 #ifdef __powerpc64__
 		if (mfmsr() & PSL_HV) {
@@ -398,6 +399,7 @@ cpudep_ap_setup()
 	case IBMPOWER7PLUS:
 	case IBMPOWER8:
 	case IBMPOWER8E:
+	case IBMPOWER8NVL:
 	case IBMPOWER9:
 #ifdef __powerpc64__
 		if (mfmsr() & PSL_HV) {

Modified: stable/12/sys/powerpc/include/spr.h
==============================================================================
--- stable/12/sys/powerpc/include/spr.h	Wed Jul  3 19:31:47 2019	(r349685)
+++ stable/12/sys/powerpc/include/spr.h	Wed Jul  3 19:32:25 2019	(r349686)
@@ -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: stable/12/sys/powerpc/powerpc/cpu.c
==============================================================================
--- stable/12/sys/powerpc/powerpc/cpu.c	Wed Jul  3 19:31:47 2019	(r349685)
+++ stable/12/sys/powerpc/powerpc/cpu.c	Wed Jul  3 19:32:25 2019	(r349686)
@@ -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 |
@@ -666,6 +673,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-all mailing list