aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/domain.c
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2012-01-22 10:20:03 +0000
committerKeir Fraser <keir@xen.org>2012-01-22 10:20:03 +0000
commit9346f6cfbfb992b4fb38b802b794f194f1209dbf (patch)
tree474c02eeb700382ec999001d1ae71a342e0bcb43 /xen/common/domain.c
parentacbae3dcf66c00c03cfbb07aad2a278b54ab0c08 (diff)
downloadxen-9346f6cfbfb992b4fb38b802b794f194f1209dbf.tar.gz
xen-9346f6cfbfb992b4fb38b802b794f194f1209dbf.tar.bz2
xen-9346f6cfbfb992b4fb38b802b794f194f1209dbf.zip
x86/hvm: No need to arch_set_info_guest() before restoring per-vcpu HVM state.
Signed-off-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/common/domain.c')
-rw-r--r--xen/common/domain.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 2cc6ab150c..786ae741d9 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -778,18 +778,6 @@ void domain_unpause_by_systemcontroller(struct domain *d)
domain_unpause(d);
}
-int boot_vcpu(struct domain *d, int vcpuid, vcpu_guest_context_u ctxt)
-{
- struct vcpu *v = d->vcpu[vcpuid];
- int rc;
-
- domain_lock(d);
- rc = v->is_initialised ? -EEXIST : arch_set_info_guest(v, ctxt);
- domain_unlock(d);
-
- return rc;
-}
-
void vcpu_reset(struct vcpu *v)
{
struct domain *d = v->domain;
@@ -847,7 +835,9 @@ long do_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE(void) arg)
return -EFAULT;
}
- rc = boot_vcpu(d, vcpuid, ctxt);
+ domain_lock(d);
+ rc = v->is_initialised ? -EEXIST : arch_set_info_guest(v, ctxt);
+ domain_unlock(d);
free_vcpu_guest_context(ctxt);
break;