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

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

 



Huang Ying wrote:
From: Andi Kleen <ak@xxxxxxxxxxxxxxx>

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 Jiang Yunhong for help and testing.

v4: move exit_reason to struct vcpu_vmx, add is_machine_check()

v3: Rebased on kvm.git

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


Applied, thanks.

+ vmx->exit_reason = vmcs_read32(VM_EXIT_REASON);
+
+	/* Handle machine checks before interrupts are enabled */
+	if ((vmx->exit_reason == EXIT_REASON_MCE_DURING_VMENTRY) ||
+	    is_machine_check(exit_intr_info))
+		kvm_machine_check();
+

I added a check here for exit_reason == EXCEPTION_NMI. I don't think exit_intr_info can be trusted otherwise.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux