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();
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to