summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Gibson2017-07-28 05:38:50 +0200
committerDavid Gibson2017-07-29 08:22:14 +0200
commitfc7e0765fc385eed08c19a8823a970f4e98379b0 (patch)
tree5d1fec68473f73a0f9e74be0b757bd095692d6c9
parentspapr_drc: fix realize and unrealize (diff)
downloadqemu-fc7e0765fc385eed08c19a8823a970f4e98379b0.tar.gz
qemu-fc7e0765fc385eed08c19a8823a970f4e98379b0.tar.xz
qemu-fc7e0765fc385eed08c19a8823a970f4e98379b0.zip
Revert "spapr: populate device tree depending on XIVE_EXPLOIT option"
This reverts commit b87680427e8a3ff682f66514e99a8344e7437247. I thought this was a harmless preliminary for XIVE enablement patches we expect later on. However, due to some subtle interactions between qemu and SLOF (guest firmware) this breaks some things. Revert it for now, we'll work out how to fix it when the rest of the XIVE patches are ready. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--hw/ppc/spapr.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 2a3e53d5d5..f7a19720dc 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -776,11 +776,6 @@ static int spapr_dt_cas_updates(sPAPRMachineState *spapr, void *fdt,
}
}
- /* /interrupt controller */
- if (!spapr_ovec_test(ov5_updates, OV5_XIVE_EXPLOIT)) {
- spapr_dt_xics(xics_max_server_number(), fdt, PHANDLE_XICP);
- }
-
offset = fdt_path_offset(fdt, "/chosen");
if (offset < 0) {
offset = fdt_add_subnode(fdt, 0, "chosen");
@@ -804,7 +799,7 @@ int spapr_h_cas_compose_response(sPAPRMachineState *spapr,
size -= sizeof(hdr);
- /* Create skeleton */
+ /* Create sceleton */
fdt_skel = g_malloc0(size);
_FDT((fdt_create(fdt_skel, size)));
_FDT((fdt_begin_node(fdt_skel, "")));
@@ -1077,6 +1072,9 @@ static void *spapr_build_fdt(sPAPRMachineState *spapr,
_FDT(fdt_setprop_cell(fdt, 0, "#address-cells", 2));
_FDT(fdt_setprop_cell(fdt, 0, "#size-cells", 2));
+ /* /interrupt controller */
+ spapr_dt_xics(xics_max_server_number(), fdt, PHANDLE_XICP);
+
ret = spapr_populate_memory(spapr, fdt);
if (ret < 0) {
error_report("couldn't setup memory nodes in fdt");