[Skiboot] [PATCH 1/2] hw/imc: move imc_init() towards end main_cpu_entry()

Madhavan Srinivasan maddy at linux.ibm.com
Tue Sep 29 21:57:12 AEST 2020


imc_init() checks for the 24x7 microcode state at boot to
check whether the microcode is in proper state (running or paused).
But in a larger system, loading of 24x7 microcode by OCC gets delayed.
Because of this, imc_init() removes imc devices from the device tree.

Moving imc_init() function towards end of the main_cpu_entry()
works around this.

Signed-off-by: Madhavan Srinivasan <maddy at linux.ibm.com>
---
 core/init.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/core/init.c b/core/init.c
index 1289805f..da003e21 100644
--- a/core/init.c
+++ b/core/init.c
@@ -1322,9 +1322,6 @@ void __noreturn __nomcount main_cpu_entry(const void *fdt)
 	/* NX init */
 	nx_init();
 
-	/* Init In-Memory Collection related stuff (load the IMC dtb into memory) */
-	imc_init();
-
 	/* Probe PHB3 on P8 */
 	probe_phb3();
 
@@ -1366,6 +1363,9 @@ void __noreturn __nomcount main_cpu_entry(const void *fdt)
 	/* Add the list of interrupts going to OPAL */
 	add_opal_interrupts();
 
+	/* Init In-Memory Collection related stuff (load the IMC dtb into memory) */
+	imc_init();
+
 	/* Disable protected execution facility in BML */
 	cpu_disable_pef();
 
-- 
2.26.2



More information about the Skiboot mailing list