All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.