[Skiboot] [PATCH 04/14] hdat: create XIVE nodes under each xscom node

Oliver O'Halloran oohall at gmail.com
Thu Jan 12 14:54:03 AEDT 2017


Adds the XIVE node under each chip's XSCOM controller node.

Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
---
 hdata/spira.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/hdata/spira.c b/hdata/spira.c
index 5c122398cc2e..58278c90a90e 100644
--- a/hdata/spira.c
+++ b/hdata/spira.c
@@ -333,6 +333,17 @@ static void add_psihb_node(struct dt_node *np)
 	}
 }
 
+static void add_xive_node(struct dt_node *np)
+{
+	struct dt_node *xive = dt_new_addr(np, "xive", 0x5013000);
+
+	dt_add_property_cells(xive, "reg", 0x5013000, 0x300);
+	dt_add_property_string(xive, "compatible", "ibm,power9-xive-x");
+
+	/* HACK: required for simics */
+	dt_add_property(xive, "force-assign-bars", NULL, 0);
+}
+
 static void add_xscom_add_pcia_assoc(struct dt_node *np, uint32_t pcid)
 {
 	const struct HDIF_common_hdr *hdr;
@@ -440,6 +451,9 @@ static bool add_xscom_sppcrd(uint64_t xscom_base)
 
 		/* Add PSI Host bridge */
 		add_psihb_node(np);
+
+		if (proc_gen >= proc_gen_p9)
+			add_xive_node(np);
 	}
 
 	return i > 0;
-- 
2.7.4



More information about the Skiboot mailing list