diff options
author | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-05-31 16:05:27 +0100 |
---|---|---|
committer | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-05-31 16:05:27 +0100 |
commit | 2aa3ae0fbf7b5b13b47ffcd1b790437d233f619a (patch) | |
tree | 0077747b0537ecbf82d9d01b63ab2fec5a64f9e6 | |
parent | a7cc66ccfc184794b1848102d097b89394263ecb (diff) | |
download | xen-2aa3ae0fbf7b5b13b47ffcd1b790437d233f619a.tar.gz xen-2aa3ae0fbf7b5b13b47ffcd1b790437d233f619a.tar.bz2 xen-2aa3ae0fbf7b5b13b47ffcd1b790437d233f619a.zip |
hvm: Pause domain during state save/load.
Signed-off-by: Keir Fraser <keir@xensource.com>
-rw-r--r-- | xen/arch/x86/domctl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c index b7342fd5a4..7bbd00b3b5 100644 --- a/xen/arch/x86/domctl.c +++ b/xen/arch/x86/domctl.c @@ -317,7 +317,9 @@ long arch_do_domctl( if ( copy_from_guest(c.data, domctl->u.hvmcontext.buffer, c.size) != 0) goto sethvmcontext_out; + domain_pause(d); ret = hvm_load(d, &c); + domain_unpause(d); sethvmcontext_out: if ( c.data != NULL ) @@ -362,7 +364,9 @@ long arch_do_domctl( if ( (c.data = xmalloc_bytes(c.size)) == NULL ) goto gethvmcontext_out; + domain_pause(d); ret = hvm_save(d, &c); + domain_unpause(d); domctl->u.hvmcontext.size = c.cur; if ( copy_to_guest(domctl->u.hvmcontext.buffer, c.data, c.size) != 0 ) |