aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common
diff options
context:
space:
mode:
authorTim Deegan <Tim.Deegan@xensource.com>2007-01-18 16:48:09 +0000
committerTim Deegan <Tim.Deegan@xensource.com>2007-01-18 16:48:09 +0000
commit42b9c7a19f579747a696a493199445a95dda60ac (patch)
treef1c70f87cda0a10c41e22b75b526fa0982bbb9c6 /xen/common
parenta5af2a08af96a99b2ccc75bc45c21dbf1955645f (diff)
downloadxen-42b9c7a19f579747a696a493199445a95dda60ac.tar.gz
xen-42b9c7a19f579747a696a493199445a95dda60ac.tar.bz2
xen-42b9c7a19f579747a696a493199445a95dda60ac.zip
[HVM] save restore: shadow fix
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> fix 2 shadow issues: * restored guest's mem type_info are not correct * remove annoying warnings when restore enable smp: turn on the vcpu when set_vcpu_context in restore as cpu hotplug is not feasible for HVM
Diffstat (limited to 'xen/common')
-rw-r--r--xen/common/domain.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 28530c40d5..de7892d6b5 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -24,6 +24,7 @@
#include <xen/percpu.h>
#include <xen/multicall.h>
#include <asm/debugger.h>
+#include <asm/hvm/support.h>
#include <public/sched.h>
#include <public/vcpu.h>
#ifdef CONFIG_COMPAT
@@ -505,6 +506,14 @@ int set_info_guest(struct domain *d,
if ( rc == 0 )
rc = arch_set_info_guest(v, c);
+ /*XXX: hvm smp guest restore support */
+ if ( rc == 0 &&
+ v->vcpu_id != 0 &&
+ is_hvm_vcpu(v) &&
+ test_and_clear_bit(_VCPUF_down, &v->vcpu_flags) ) {
+ vcpu_wake(v);
+ }
+
domain_unpause(d);
xfree(c.nat);