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