From 6371a030fa843680fb755a3c7bfd825cbe061395 Mon Sep 17 00:00:00 2001 From: Madhavan Srinivasan Date: Tue, 29 Sep 2020 17:27:12 +0530 Subject: hw/imc: move imc_init() towards end main_cpu_entry() [ Upstream commit fbcbd4e47cdcf00fffc7665a297c875ce9ef951a ] 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 Signed-off-by: Vasant Hegde --- core/init.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/init.c b/core/init.c index 4cb8f98..d5ba67e 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(); -- cgit v1.1