aboutsummaryrefslogtreecommitdiff
path: root/core/cpufeatures.c
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-10 21:42:06 -0600
commit17975a6e645768c4651199055052a13858db6506 (patch)
treefe941616e2aede9848b481ee3f6dfd76683d4010 /core/cpufeatures.c
parent67fc150c82a7b6f1d06eff5ae71ea40a863aaf71 (diff)
downloadskiboot-17975a6e645768c4651199055052a13858db6506.zip
skiboot-17975a6e645768c4651199055052a13858db6506.tar.gz
skiboot-17975a6e645768c4651199055052a13858db6506.tar.bz2
cpufeatures: Always advertise POWER8NVL as DD2
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>
Diffstat (limited to 'core/cpufeatures.c')
-rw-r--r--core/cpufeatures.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/core/cpufeatures.c b/core/cpufeatures.c
index 1daa017..9f56c9b 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";