summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Gibson2011-08-03 23:02:18 +0200
committerAlexander Graf2011-10-06 09:48:03 +0200
commit9dfef5aae422d479d8e561889da05cf31d850d5c (patch)
tree1673b3d0695837e347251327bba8b2ae9e78cb83
parentpseries: Add a phandle to the xicp interrupt controller device tree node (diff)
downloadqemu-9dfef5aae422d479d8e561889da05cf31d850d5c.tar.gz
qemu-9dfef5aae422d479d8e561889da05cf31d850d5c.tar.xz
qemu-9dfef5aae422d479d8e561889da05cf31d850d5c.zip
pseries: interrupt controller should not have a 'reg' property
The interrupt controller presented in the device tree for the pseries machine is manipulated by the guest only through hypervisor calls. It has no real or emulated registers for the guest to access. However, it currently has a bogus 'reg' property advertising a register window. Moreover, this property has an invalid format, being a 32-bit zero, when the #address-cells property on the root bus indicates that it needs a 64-bit address. Since the guest never attempts to manipulate the node directly, it works, but it is ugly and can cause warnings when manipulating the device tree in other tools (such as future firmware versions). This patch, therefore, corrects the problem by entirely removing the interrupt-controller node's 'reg' property. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--hw/spapr.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/hw/spapr.c b/hw/spapr.c
index bb00ae6a6f..9eefef9015 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -194,12 +194,11 @@ static void *spapr_create_fdt_skel(const char *cpu_model,
_FDT((fdt_end_node(fdt)));
/* interrupt controller */
- _FDT((fdt_begin_node(fdt, "interrupt-controller@0")));
+ _FDT((fdt_begin_node(fdt, "interrupt-controller")));
_FDT((fdt_property_string(fdt, "device_type",
"PowerPC-External-Interrupt-Presentation")));
_FDT((fdt_property_string(fdt, "compatible", "IBM,ppc-xicp")));
- _FDT((fdt_property_cell(fdt, "reg", 0)));
_FDT((fdt_property(fdt, "interrupt-controller", NULL, 0)));
_FDT((fdt_property(fdt, "ibm,interrupt-server-ranges",
interrupt_server_ranges_prop,