From: "Andreas Färber" <afaerber@suse.de>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: qemu-devel Developers <qemu-devel@nongnu.org>,
Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] [TestDay] ppc64 pseries segfault
Date: Wed, 09 Nov 2011 02:52:32 +0100 [thread overview]
Message-ID: <4EB9DCE0.3070509@suse.de> (raw)
In-Reply-To: <20111109014118.GF8168@truffala.fritz.box>
Am 09.11.2011 02:41, schrieb David Gibson:
> On Tue, Nov 08, 2011 at 11:40:20AM +0100, Andreas Färber wrote:
>> Hello,
>>
>> On openSUSE 12.1 RC2 x86_64 host
>>
>> $ ppc64-softmmu/qemu-system-ppc64 -M pseries -L .../pc-bios
>>
>> segfaults. Backtrace:
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x0000000000578a7e in spapr_create_phb (spapr=0x1247f80, busname=
>> 0x77f1b2 "pci", buid=<optimized out>, mem_win_addr=<optimized out>,
>> mem_win_size=536870912, io_win_addr=1101659111424)
>> at /home/andreas/QEMU/qemu/hw/spapr_pci.c:306
>> 306 QLIST_INSERT_HEAD(&spapr->phbs, phb, list);
>> (gdb) bt
>> #0 0x0000000000578a7e in spapr_create_phb (spapr=0x1247f80, busname=
>> 0x77f1b2 "pci", buid=<optimized out>, mem_win_addr=<optimized out>,
>> mem_win_size=536870912, io_win_addr=1101659111424)
>> at /home/andreas/QEMU/qemu/hw/spapr_pci.c:306
>> #1 0x00000000005760f8 in ppc_spapr_init (ram_size=134217728, boot_device=
>> 0x7fffffffdd50 "cad", kernel_filename=0x0, kernel_cmdline=0x69d000 "",
>> initrd_filename=0x0, cpu_model=0x7ab640 "POWER7")
>> at /home/andreas/QEMU/qemu/hw/spapr.c:507
>> #2 0x000000000040a4a9 in main (argc=<optimized out>, argv=<optimized out>,
>> envp=<optimized out>) at /home/andreas/QEMU/qemu/vl.c:3340
>>
>> I'd expect seeing SLOF boot.
>
> That'll be due to the missing initialization of the sPAPREnvironment
> structure, and the phbs_list in particular. I sent a fix for it, but
> I'm wondering if something went wrong with the mail, because no-one
> replied and now I can't seem to find it in the qemu-devel archives.
Thanks. No, I remember reading it now. Just expected all such bug fixes
for 1.0 to be in rc1 already. Unfortunate timing for the big Test Day.
Andreas
>
> From cbcfb3b04ec8306697509a48dada8fed07dcdc28 Mon Sep 17 00:00:00 2001
> From: David Gibson <david@gibson.dropbear.id.au>
> Date: Wed, 2 Nov 2011 12:20:25 +1100
> Subject: [PATCH] pseries: Fix initialization of sPAPREnvironment structure
>
> 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
> startup.
>
> 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>
> ---
> 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 */
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2011-11-09 1:52 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-08 10:40 [Qemu-devel] [TestDay] ppc64 pseries segfault Andreas Färber
2011-11-09 1:36 ` Andreas Färber
2011-11-09 1:41 ` David Gibson
2011-11-09 1:46 ` Alexander Graf
2011-11-09 1:52 ` Andreas Färber [this message]
2011-11-09 2:03 ` Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EB9DCE0.3070509@suse.de \
--to=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=david@gibson.dropbear.id.au \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).