aboutsummaryrefslogtreecommitdiff
path: root/core/interrupts.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2016-12-22 14:16:40 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-01-05 15:27:44 +1100
commit3b59c840fd7a21ae575b7014836264aa1a641c09 (patch)
tree8d8372e01e52c8d1bd10deed196bc8d6436fe2cc /core/interrupts.c
parent2858c9086b91b890d9b064e6e0b02cdc05604c8c (diff)
downloadskiboot-3b59c840fd7a21ae575b7014836264aa1a641c09.zip
skiboot-3b59c840fd7a21ae575b7014836264aa1a641c09.tar.gz
skiboot-3b59c840fd7a21ae575b7014836264aa1a641c09.tar.bz2
xive: Expose exploitation mode DT properties
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'core/interrupts.c')
-rw-r--r--core/interrupts.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/interrupts.c b/core/interrupts.c
index d567b30..6c00138 100644
--- a/core/interrupts.c
+++ b/core/interrupts.c
@@ -163,11 +163,16 @@ uint32_t get_psi_interrupt(uint32_t chip_id)
struct dt_node *add_ics_node(void)
{
struct dt_node *ics = dt_new_addr(dt_root, "interrupt-controller", 0);
+ bool has_xive;
+
if (!ics)
return NULL;
+ has_xive = proc_gen >= proc_gen_p9;
+
dt_add_property_cells(ics, "reg", 0, 0, 0, 0);
- dt_add_property_strings(ics, "compatible", "IBM,ppc-xics",
+ dt_add_property_strings(ics, "compatible",
+ has_xive ? "ibm,opal-xive-vc" : "IBM,ppc-xics",
"IBM,opal-xics");
dt_add_property_cells(ics, "#address-cells", 0);
dt_add_property_cells(ics, "#interrupt-cells", 2);