[1/3] pseries: Fix initialization of sPAPREnvironment structure

Message ID 1321029448-11010-2-git-send-email-agraf@suse.de
State New
Headers show

Commit Message

Alexander Graf Nov. 11, 2011, 4:37 p.m.
From: David Gibson <david@gibson.dropbear.id.au>

Since we added PCI support to the pseries machine, we include a qlist of
PCI host bridges in the sPAPREnvironment structure.  However this list
was never properly initialized it.  Somehow we got away with this until
some other recent change broke it, and we now segfault immediately on

This patch adds the required QLIST_INIT(), and while we're at it makes sure
we initialize the rest of the sPAPREnvironment structure to 0, to avoid
future nasty surprises.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
 hw/spapr.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)


diff --git a/hw/spapr.c b/hw/spapr.c
index bdaa938..40cfc9b 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -407,7 +407,9 @@  static void ppc_spapr_init(ram_addr_t ram_size,
     long pteg_shift = 17;
     char *filename;
-    spapr = g_malloc(sizeof(*spapr));
+    spapr = g_malloc0(sizeof(*spapr));
+    QLIST_INIT(&spapr->phbs);
     cpu_ppc_hypercall = emulate_spapr_hypercall;
     /* Allocate RMA if necessary */