[Skiboot] [PATCH] hw/slw.c: Offline code still uses p8 bits

Balbir Singh bsingharora at gmail.com
Fri Sep 15 14:42:39 AEST 2017


I'm seeing an infinite loop while hot unplugging
a CPU. This is a workaround till we do the right
things for p9. May be a candidate for backporting

The messages I see in an infinite loop are:

[  740.250192896,3] LIBPORE: Core ID = 20 is not within valid range of [0;15]
[  740.250230176,3] SLW: Failed to set spr for CPU 51

When trying to hotunplug core id 20. For now the
patch just skips calling p8_pore* on p9 machines.

Signed-off-by: Balbir Singh <bsingharora at gmail.com>
---
 hw/slw.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/slw.c b/hw/slw.c
index c0ab9de..09b9c77 100644
--- a/hw/slw.c
+++ b/hw/slw.c
@@ -1298,6 +1298,9 @@ int64_t opal_slw_set_reg(uint64_t cpu_pir, uint64_t sprn, uint64_t val)
 	int i;
 	int spr_is_supported = 0;
 
+	if (proc_gen == proc_gen_p9)
+		return OPAL_UNSUPPORTED;
+
 	assert(c);
 	chip = get_chip(c->chip_id);
 	assert(chip);
-- 
2.9.5



More information about the Skiboot mailing list