# HG changeset patch # User Brendan Cully # Date 1168566620 28800 # Node ID 74431b023b3cfb12968717d025d48aa27a651e72 # Parent 8fdd24d1dfbfb6134313c83832d9fefa77d6ec3f Add resumedomain domctl to resume a domain after checkpoint. Signed-off-by: Brendan Cully diff -r 8fdd24d1dfbf -r 74431b023b3c xen/common/domctl.c --- a/xen/common/domctl.c Wed Dec 13 15:45:56 2006 -0800 +++ b/xen/common/domctl.c Thu Jan 11 17:50:20 2007 -0800 @@ -250,6 +250,31 @@ ret_t do_domctl(XEN_GUEST_HANDLE(xen_dom } break; + case XEN_DOMCTL_resumedomain: + { + struct domain *d = find_domain_by_id(op->domain); + struct vcpu *v; + + ret = -ESRCH; + if ( d != NULL ) + { + ret = -EINVAL; + printk("Resuming domain %d\n", op->domain); + if ( (d != current->domain) && (d->vcpu[0] != NULL) && + test_bit(_DOMF_shutdown, &d->domain_flags) ) + { + clear_bit(_DOMF_shutdown, &d->domain_flags); + + for_each_vcpu (d, v) + vcpu_wake (v); + + ret = 0; + } + put_domain(d); + } + } + break; + case XEN_DOMCTL_createdomain: { struct domain *d; diff -r 8fdd24d1dfbf -r 74431b023b3c xen/include/public/domctl.h --- a/xen/include/public/domctl.h Wed Dec 13 15:45:56 2006 -0800 +++ b/xen/include/public/domctl.h Thu Jan 11 17:50:20 2007 -0800 @@ -63,6 +63,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_creat #define XEN_DOMCTL_destroydomain 2 #define XEN_DOMCTL_pausedomain 3 #define XEN_DOMCTL_unpausedomain 4 +#define XEN_DOMCTL_resumedomain 27 #define XEN_DOMCTL_getdomaininfo 5 struct xen_domctl_getdomaininfo {