aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/hvm/hvm.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-02-05 09:16:07 +0100
committerJan Beulich <jbeulich@suse.com>2013-02-05 09:16:07 +0100
commit19014daf9fbd8e9bb3c26cb0fdbb993f82471d5a (patch)
tree020aaef6f42a4c25860b605d6831a0110eb43c61 /xen/arch/x86/hvm/hvm.c
parent40785b88faf43e9589142172a43191251a692542 (diff)
downloadxen-19014daf9fbd8e9bb3c26cb0fdbb993f82471d5a.tar.gz
xen-19014daf9fbd8e9bb3c26cb0fdbb993f82471d5a.tar.bz2
xen-19014daf9fbd8e9bb3c26cb0fdbb993f82471d5a.zip
Revert 26503:69398345c10e
This conflicts with changes done in 26486:7648ef657fe7 and 26489:83a3fa9c8434 (i.e. the code added by them needs adjustment in order for the change here to be correct).
Diffstat (limited to 'xen/arch/x86/hvm/hvm.c')
-rw-r--r--xen/arch/x86/hvm/hvm.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 9a2d49e1af..34b86f4f39 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3900,25 +3900,20 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
rc = -EPERM;
break;
}
- if ( !a.value )
- break;
if ( a.value > 1 )
rc = -EINVAL;
+ if ( !is_hvm_domain(d) )
+ rc = -EINVAL;
/* Remove the check below once we have
* shadow-on-shadow.
*/
- if ( cpu_has_svm && !paging_mode_hap(d) )
+ if ( cpu_has_svm && !paging_mode_hap(d) && a.value )
rc = -EINVAL;
/* Set up NHVM state for any vcpus that are already up */
if ( !d->arch.hvm_domain.params[HVM_PARAM_NESTEDHVM] )
- {
for_each_vcpu(d, v)
if ( rc == 0 )
rc = nestedhvm_vcpu_initialise(v);
- if ( rc )
- for_each_vcpu(d, v)
- nestedhvm_vcpu_destroy(v);
- }
break;
case HVM_PARAM_BUFIOREQ_EVTCHN:
rc = -EINVAL;