aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/svm.c
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2010-04-22 06:33:10 -0400
committerAvi Kivity <avi@redhat.com>2010-05-17 05:19:21 -0400
commit228070b1b31abc16c331b57bf965101c6eb1d167 (patch)
tree733389c8b0716c1c9cbe3eadc3cc565cf660f27d /arch/x86/kvm/svm.c
parent2be4fc7a02c368dcfda83a386a5101c211b9535e (diff)
KVM: SVM: Propagate nested entry failure into guest hypervisor
This patch implements propagation of a failes guest vmrun back into the guest instead of killing the whole guest. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/svm.c')
-rw-r--r--arch/x86/kvm/svm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 5ad9d802bd16..b10d1630c203 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -1715,6 +1715,10 @@ static int nested_svm_intercept(struct vcpu_svm *svm)
1715 vmexit = NESTED_EXIT_DONE; 1715 vmexit = NESTED_EXIT_DONE;
1716 break; 1716 break;
1717 } 1717 }
1718 case SVM_EXIT_ERR: {
1719 vmexit = NESTED_EXIT_DONE;
1720 break;
1721 }
1718 default: { 1722 default: {
1719 u64 exit_bits = 1ULL << (exit_code - SVM_EXIT_INTR); 1723 u64 exit_bits = 1ULL << (exit_code - SVM_EXIT_INTR);
1720 if (svm->nested.intercept & exit_bits) 1724 if (svm->nested.intercept & exit_bits)