aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-05-31 16:05:27 +0100
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-05-31 16:05:27 +0100
commit2aa3ae0fbf7b5b13b47ffcd1b790437d233f619a (patch)
tree0077747b0537ecbf82d9d01b63ab2fec5a64f9e6
parenta7cc66ccfc184794b1848102d097b89394263ecb (diff)
downloadxen-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.c4
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 )