From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] KVM: Add VT-x machine check support v2 Date: Sun, 07 Jun 2009 09:01:29 +0300 Message-ID: <4A2B57B9.7070207@redhat.com> References: <20090605232356.GA7091@basil.nowhere.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, ying.huang@intel.com To: Andi Kleen Return-path: In-Reply-To: <20090605232356.GA7091@basil.nowhere.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Andi Kleen wrote: > KVM: Add VT-x machine check support v2 > > VT-x needs an explicit MC vector intercept to handle machine checks in the > hyper visor. > > It also has a special option to catch machine checks that happen > during VT entry. > > Do these interceptions and forward them to the Linux machine check > handler. Make it always look like user space is interrupted because > the machine check handler treats kernel/user space differently. > > Thanks to Huang Ying and Jiang Yunhong for help and testing. > > Cc: ying.huang@intel.com > > v2: Handle machine checks still in interrupt off context > to avoid problems on preemptible kernels. > > Signed-off-by: Andi Kleen > > Only applies with -C0. What tree was this generated against? Please diff and test against latest kvm.git. > =================================================================== > --- linux.orig/arch/x86/include/asm/kvm_host.h 2009-06-04 16:12:31.000000000 +0200 > +++ linux/arch/x86/include/asm/kvm_host.h 2009-06-04 16:15:20.000000000 +0200 > @@ -371,6 +371,8 @@ > unsigned long dr6; > unsigned long dr7; > unsigned long eff_db[KVM_NR_DB_REGS]; > + > + u32 exit_reason; > }; > This should be in 'struct vcpu_vmx' (vmx.c), as it's vmx specific. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic.