aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2019-02-07 11:41:28 +1100
committerStewart Smith <stewart@linux.ibm.com>2019-02-11 14:54:39 +1100
commit64627c85e648991b7a53a1de47d7d602194f80e1 (patch)
tree13906586a2152cc8f91f60d6546358da6bd5b36f
parentc8941393f45210319024e42901553afc2ed4e111 (diff)
downloadskiboot-64627c85e648991b7a53a1de47d7d602194f80e1.zip
skiboot-64627c85e648991b7a53a1de47d7d602194f80e1.tar.gz
skiboot-64627c85e648991b7a53a1de47d7d602194f80e1.tar.bz2
cpufeatures: Always advertise POWER8NVL as DD2
[ Upstream commit 17975a6e645768c4651199055052a13858db6506 ] Despite the major version of PVR being 1 (0x004c0100) for POWER8NVL, these chips are functionally equalent to P8/P8E DD2 levels. This advertises POWER8NVL as DD2. As the result, skiboot adds ibm,powerpc-cpu-features/processor-control-facility for such CPUs and the linux kernel can use hypervisor doorbell messages to wake secondary threads; otherwise "KVM: CPU %d seems to be stuck" would appear because of missing LPCR_PECEDH. Fixes: 7f4c8e8ce0b "dt: add /cpus/ibm, powerpc-cpu-features device tree bindings" Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
-rw-r--r--core/cpufeatures.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/core/cpufeatures.c b/core/cpufeatures.c
index e9d2daf..eca3273 100644
--- a/core/cpufeatures.c
+++ b/core/cpufeatures.c
@@ -885,16 +885,17 @@ void dt_add_cpufeatures(struct dt_node *root)
if (!cpu_name)
cpu_name = "POWER8E";
/* fallthrough */
- case PVR_TYPE_P8NVL:
- if (!cpu_name)
- cpu_name = "POWER8NVL";
-
cpu_feature_isa = ISA_V2_07B;
if (PVR_VERS_MAJ(version) == 1)
cpu_feature_cpu = CPU_P8_DD1;
else
cpu_feature_cpu = CPU_P8_DD2;
break;
+ case PVR_TYPE_P8NVL:
+ cpu_name = "POWER8NVL";
+ cpu_feature_isa = ISA_V2_07B;
+ cpu_feature_cpu = CPU_P8_DD2;
+ break;
case PVR_TYPE_P9:
if (!cpu_name)
cpu_name = "POWER9";