Re: [PATCH] KVM: Add VT-x machine check support v2

From: Avi Kivity
Date: Sun Jun 07 2009 - 02:01:57 EST


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@xxxxxxxxx

v2: Handle machine checks still in interrupt off context
to avoid problems on preemptible kernels.

Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>


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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/