diff mbox series

[RFC,v4,13/16] skiboot/imc: Disable IMC node when UV enabled

Message ID 20200227122042.32692-14-grimm@linux.ibm.com
State Superseded
Headers show
Series Ultravisor support in skiboot | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch success Successfully applied on branch master (82aed17a5468aff6b600ee1694a10a60f942c018)
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot success Test snowpatch/job/snowpatch-skiboot on branch master
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot-dco success Signed-off-by present

Commit Message

Ryan Grimm Feb. 27, 2020, 12:20 p.m. UTC
From: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>

Remove the IMC nodes when the ultravisor is enabled,
since both HOMER and IMC scoms are not accessable in
hypervisor state.

Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
---
 hw/imc.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
diff mbox series

Patch

diff --git a/hw/imc.c b/hw/imc.c
index 3a5382c0..576eac87 100644
--- a/hw/imc.c
+++ b/hw/imc.c
@@ -603,6 +603,17 @@  imc_mambo:
 	if (pause_microcode_at_boot())
 		goto err;
 
+	/*
+	 * If MSR(S) bit is set, disable IMC nodes.
+	 * IMC nodes need access to specific scom and HOMER region
+	 * which are not accessible from hypervisor.
+	 *
+	 * At this point uv_present cant be used since uv_init()
+	 * is called much later. Hencing checking for the MSR bit here.
+	 */
+	if (is_msr_bit_set(MSR_S))
+		goto err;
+
 	/*
 	 * If the dt_attach_root() fails, "imc-counters" node will not be
 	 * seen in the device-tree and hence OS should not make any