[Skiboot] [PATCH skiboot] cpufeatures: Always advertise POWER8NVL as DD2

Alexey Kardashevskiy aik at ozlabs.ru
Thu Feb 7 11:41:28 AEDT 2019


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 at ozlabs.ru>
---

This was tested on top of reverted bd9839684d482417e8c60449592f4 as
it breaks the POWER8NVL (garrison) machines:
https://github.com/open-power/skiboot/issues/217


---
 core/cpufeatures.c | 9 +++++----
 1 file 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";
-- 
2.17.1



More information about the Skiboot mailing list