diff options
author | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-01-19 15:23:41 +0000 |
---|---|---|
committer | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-01-19 15:23:41 +0000 |
commit | e105919b0120a0eccfe59ece2ce545ddd6f0881f (patch) | |
tree | 216cb735cbd311c4e62840e37c64763f2f0960a3 /xen/common | |
parent | 6b23fd229a317c9504cd19968329597f8f149e7e (diff) | |
download | xen-e105919b0120a0eccfe59ece2ce545ddd6f0881f.tar.gz xen-e105919b0120a0eccfe59ece2ce545ddd6f0881f.tar.bz2 xen-e105919b0120a0eccfe59ece2ce545ddd6f0881f.zip |
Add resumedomain domctl to resume a domain after checkpoint.
Export resumedomain domctl to libxc, xend.
Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
Diffstat (limited to 'xen/common')
-rw-r--r-- | xen/common/domctl.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/xen/common/domctl.c b/xen/common/domctl.c index 230d204912..a374b1ca32 100644 --- a/xen/common/domctl.c +++ b/xen/common/domctl.c @@ -286,6 +286,23 @@ ret_t do_domctl(XEN_GUEST_HANDLE(xen_domctl_t) u_domctl) } break; + case XEN_DOMCTL_resumedomain: + { + struct domain *d = find_domain_by_id(op->domain); + struct vcpu *v; + + ret = -ESRCH; + if ( d != NULL ) + { + ret = 0; + if ( test_and_clear_bit(_DOMF_shutdown, &d->domain_flags) ) + for_each_vcpu ( d, v ) + vcpu_wake(v); + put_domain(d); + } + } + break; + case XEN_DOMCTL_createdomain: { struct domain *d; |