qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-5.2] spapr: Avoid some integer conversions in spapr_phb_r


From: Greg Kurz
Subject: Re: [PATCH for-5.2] spapr: Avoid some integer conversions in spapr_phb_realize()
Date: Thu, 30 Jul 2020 18:55:18 +0200

On Wed, 29 Jul 2020 12:54:41 +1000
David Gibson <david@gibson.dropbear.id.au> wrote:

> On Tue, Jul 28, 2020 at 11:14:13AM +0200, Greg Kurz wrote:
> > Without this patch, the irq number gets converted uselessly from int
> > to int32_t, back and forth.
> > 
> > This doesn't fix an actual issue, it's just to make the code neater.
> > 
> > Suggested-by: Markus Armbruster <armbru@redhat.com>
> > Signed-off-by: Greg Kurz <groug@kaod.org>
> 
> Applied to ppc-for-5.2, thanks.
> 

Daniel reported a crash that happens systematically on some systems that
don't support KVM XIVE (aka. bostons) since the patch "spapr: Simplify
error handling in spapr_phb_realize()" landed in the ppc-for-5.2 tree.

The patch is good but it uncovered an issue we have in the KVM XIVE code
in QEMU (basically we should ignore the absence of KVM XIVE device when
claiming IRQ numbers).

The fix is trivial but to avoid breaking bisect, it should rather go
before the patch mentioned above. Also I want to consolidate the error
handling a bit more so, in the meantime, for others to be able to use
the ppc-for-5.2 branch, I suggest you simply drop:

spapr: Simplify error handling in spapr_phb_realize()

and the current patch as well since it's a follow-up.

I'll send a new patchset later.

> > ---
> > 
> > This is a follow-up to my previous "spapr: Simplify error handling in
> > spapr_phb_realize()" patch. Maybe worth squashing it there ?
> > ---
> >  hw/ppc/spapr_pci.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
> > index 59441e2117f3..0a418f1e6711 100644
> > --- a/hw/ppc/spapr_pci.c
> > +++ b/hw/ppc/spapr_pci.c
> > @@ -1964,7 +1964,7 @@ static void spapr_phb_realize(DeviceState *dev, Error 
> > **errp)
> >  
> >      /* Initialize the LSI table */
> >      for (i = 0; i < PCI_NUM_PINS; i++) {
> > -        int32_t irq = SPAPR_IRQ_PCI_LSI + sphb->index * PCI_NUM_PINS + i;
> > +        int irq = SPAPR_IRQ_PCI_LSI + sphb->index * PCI_NUM_PINS + i;
> >  
> >          if (smc->legacy_irq_allocation) {
> >              irq = spapr_irq_findone(spapr, errp);
> > 
> > 
> 

Attachment: pgp0xuU15IWVL.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]