direct-io.hg

changeset 10560:784961057338

[HVM][SVM] Don't BUG when VMRUN exitcode==-1, just crash the domain.

If there's any consistency problems in the VMCB, the VMRUN will return
an exitcode of -1 to indicate that the guest-state is "bad". Prior to
this change, it would cause the hypervisor to reboot. This is not at
all necessary - the VMCB may be bad, but the system is most likely
still intact. [In particular, a guest could cause a crash of the
system by setting up PAE with an invalid set of PDPE's, which is
definitely not a desired behaviour]

Now also print out the VMCB, as that MAY help identify the cause of
the exitcode of -1.

Signed-off-by: Mats Petersson <mats.petersson@amd.com>
author kaf24@firebug.cl.cam.ac.uk
date Fri Jun 30 10:13:17 2006 +0100 (2006-06-30)
parents 86cae321e707
children 5d565bb12783
files xen/arch/x86/hvm/svm/svm.c
line diff
     1.1 --- a/xen/arch/x86/hvm/svm/svm.c	Fri Jun 30 10:10:39 2006 +0100
     1.2 +++ b/xen/arch/x86/hvm/svm/svm.c	Fri Jun 30 10:13:17 2006 +0100
     1.3 @@ -2697,9 +2697,9 @@ asmlinkage void svm_vmexit_handler(struc
     1.4  
     1.5      if (exit_reason == -1)
     1.6      {
     1.7 +        svm_dump_vmcb(__func__, vmcb);
     1.8          printk("%s: exit_reason == -1 - Did someone clobber the VMCB\n", 
     1.9                  __func__);
    1.10 -        BUG();
    1.11          domain_crash_synchronous();
    1.12      }
    1.13