aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-01-19 12:03:51 +0000
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-01-19 12:03:51 +0000
commit7d0281ec5461e34a42feb91c1e698918474dba90 (patch)
treeba910d33c01d144ba63e89cbad5b4ccfc0f63020
parenta963dfad5280fb6ce6af3b587ead7b0fe3ee5ebd (diff)
downloadxen-7d0281ec5461e34a42feb91c1e698918474dba90.tar.gz
xen-7d0281ec5461e34a42feb91c1e698918474dba90.tar.bz2
xen-7d0281ec5461e34a42feb91c1e698918474dba90.zip
[XEN] Revert change to vcpu_guest_context which breaks guest ABI.
HVM save/restore needs to save/restore vcpu state via the new stream-based load/save hypercalls. Signed-off-by: Keir Fraser <keir@xensource.com>
-rw-r--r--xen/arch/x86/domain.c1
-rw-r--r--xen/arch/x86/domctl.c4
-rw-r--r--xen/common/domain.c8
-rw-r--r--xen/include/public/arch-x86/xen.h1
4 files changed, 1 insertions, 13 deletions
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index a8c6010771..e23c85bbaa 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -573,7 +573,6 @@ int arch_set_info_guest(
else
{
hvm_load_cpu_guest_regs(v, &v->arch.guest_context.user_regs);
- hvm_load_cpu_context(v, &v->arch.guest_context.hvmcpu_ctxt);
}
if ( test_bit(_VCPUF_initialised, &v->vcpu_flags) )
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 79efff08e4..fdc102c1a5 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -322,10 +322,8 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
if ( is_hvm_vcpu(v) )
{
- if ( !IS_COMPAT(v->domain) ) {
+ if ( !IS_COMPAT(v->domain) )
hvm_store_cpu_guest_regs(v, &c.nat->user_regs, c.nat->ctrlreg);
- hvm_save_cpu_context(v, &c.nat->hvmcpu_ctxt);
- }
#ifdef CONFIG_COMPAT
else
{
diff --git a/xen/common/domain.c b/xen/common/domain.c
index de7892d6b5..aa232585c8 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -506,14 +506,6 @@ 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);
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index 1b83e4a4af..3e3a4ffdfe 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -218,7 +218,6 @@ struct vcpu_guest_context {
#endif
#endif
unsigned long vm_assist; /* VMASST_TYPE_* bitmap */
- struct hvmcpu_context hvmcpu_ctxt; /* whole vmcs region */
#ifdef __x86_64__
/* Segment base addresses. */
uint64_t fs_base;