diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2016-12-22 14:16:40 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-01-05 15:27:44 +1100 |
commit | 3b59c840fd7a21ae575b7014836264aa1a641c09 (patch) | |
tree | 8d8372e01e52c8d1bd10deed196bc8d6436fe2cc /core/interrupts.c | |
parent | 2858c9086b91b890d9b064e6e0b02cdc05604c8c (diff) | |
download | skiboot-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.c | 7 |
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); |