WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] NMI: continue in case of PCI SERR erros

To: Jan Beulich <JBeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] NMI: continue in case of PCI SERR erros
From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Fri, 25 Feb 2011 11:27:22 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Delivery-date: Fri, 25 Feb 2011 03:27:29 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4D679DEA0200007800033ABF@xxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <alpine.DEB.2.00.1102251044500.2156@kaball-desktop> <4D679DEA0200007800033ABF@xxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
On Fri, 25 Feb 2011, Jan Beulich wrote:
> >>> On 25.02.11 at 11:53, Stefano Stabellini 
> >>> <stefano.stabellini@xxxxxxxxxxxxx>
> wrote:
> > Memory parity error is only valid for IBM PC-AT, newer machines use
> > bit 7 (0x80) of 0x61 port for PCI SERR. While memory errors are
> > usually reported via MCE.
> > 
> > Rename the memory parity error handler to pci serr handler and
> > print a warning and continue instead of crashing.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> > 
> > ---
> > 
> > diff -r 598d1fc295b6 xen/arch/x86/traps.c
> > --- a/xen/arch/x86/traps.c  Thu Feb 24 09:33:19 2011 +0000
> > +++ b/xen/arch/x86/traps.c  Fri Feb 25 10:37:47 2011 +0000
> > @@ -3075,23 +3075,12 @@ static void nmi_dom0_report(unsigned int
> >      send_guest_trap(d, 0, TRAP_nmi);
> >  }
> >  
> > -static void mem_parity_error(struct cpu_user_regs *regs)
> > +static void pci_serr_error(struct cpu_user_regs *regs)
> >  {
> > -    switch ( opt_nmi[0] )
> > -    {
> > -    case 'd': /* 'dom0' */
> > -        nmi_dom0_report(_XEN_NMIREASON_parity_error);
> > -    case 'i': /* 'ignore' */
> > -        break;
> > -    default:  /* 'fatal' */
> > -        console_force_unlock();
> > -        printk("\n\nNMI - MEMORY ERROR\n");
> > -        fatal_trap(TRAP_nmi, regs);
> > -    }
> > +    console_force_unlock();
> > +    printk("\n\nNMI - PCI system error (SERR)\n");
> 
> Why do you remove the reporting of the event to Dom0? I'd rather
> see this part stay and the public headers getting adjusted in a
> compatible way.
> 

Because it might not have anything to do with dom0: I wrote this patch
to fix http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1744, that
is due to Xen trying to mask an MSI-X of a device assigned to a guest on
shutdown. The device seems to be in a state in which it refuses any
interactions so it sends a PCI SERR that becomes an NMI and used to
crash Xen.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel