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] x86: machine check exception handling

To: Jan Beulich <jbeulich@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] x86: machine check exception handling
From: Keir Fraser <keir@xxxxxxxxxxxxx>
Date: Thu, 21 Jun 2007 15:15:36 +0100
Delivery-date: Thu, 21 Jun 2007 07:13:37 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <4677C6DF.76E4.0078.0@xxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Ace0DqL34ag1PiABEdyfwwAX8io7RQ==
Thread-topic: [Xen-devel] [PATCH] x86: machine check exception handling
User-agent: Microsoft-Entourage/11.3.3.061214
On 19/6/07 11:06, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:

> Properly handle MCE (connecting the exisiting, but so far unused vendor
> specific handlers). HVM guests don't own CR4.MCE (and hence can't
> suppress the exception) anymore, preventing silent machine shutdown.
> 
> This patch won't apply or work without the patch removing i386's NMI
> deferral.

Applied with the following changes:
 1. Pulled out the common parts of the NMI/MCE asm handlers into a common
subroutine (like all other execption handlers jump at handle_exception to do
the hard work).
 2. Kept do_machine_check() as analog of do_nmi(), which can hide
machine_check_vector definition (and hence I removed all changes inside
arch/x86/cpu/mcheck). I'd like to keep do_machine_check(), even if it
remains no more than a direct call at machine_check_vector(). We could clean
up machine_check_vector() as a separate patch -- not sure if it's worth it
right now, and maybe we're better off keeping close to original Linux files?
 3. Most contentious, I'm sure: removed VMX changes that would keep
interrupts disabled across NMI/MCE. The reason is simply that SVM does not
bother with this. If there is a requirement that NMI/MCE be called with
particular constraints on EFLAGS, then we should make that clear and fix up
both VMX and SVM in a separate patch. The pain of this is that it would
probably require extra checks on critical vmexit paths. Is it *really* that
bad for #MC to get interrupted?

 -- Keir


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