This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-changelog] [xen-unstable] xen: allow HVM save/restore from differen

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] xen: allow HVM save/restore from different cpus
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 09 Jul 2010 04:50:36 -0700
Delivery-date: Fri, 09 Jul 2010 04:51:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1278674555 -3600
# Node ID 8b2453940dac4d08ee2e9e04965ab286af4f1afe
# Parent  8afa0bb43c45b2ca08c62ca8ff5efd79ad224da2
xen: allow HVM save/restore from different cpus

The hardware CPUID-levelling features level the feature flags but
don't change the CPU family/model/stepping.  Relax the HVM restore
check on family/model/stepping to printk but not veto the load, so
that VMs can be migrated between machines that have been

Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
 xen/arch/x86/hvm/save.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff -r 8afa0bb43c45 -r 8b2453940dac xen/arch/x86/hvm/save.c
--- a/xen/arch/x86/hvm/save.c   Fri Jul 09 12:22:00 2010 +0100
+++ b/xen/arch/x86/hvm/save.c   Fri Jul 09 12:22:35 2010 +0100
@@ -55,10 +55,11 @@ int arch_hvm_load(struct domain *d, stru
     cpuid(1, &eax, &ebx, &ecx, &edx);
-    /* TODO: need to define how big a difference is acceptable? */
-    if ( hdr->cpuid != eax )
-        gdprintk(XENLOG_WARNING, "HVM restore: saved CPUID (%#"PRIx32") "
-               "does not match host (%#"PRIx32").\n", hdr->cpuid, eax);
+    /* CPUs ought to match but with feature-masking they might not */
+    if ( (hdr->cpuid & ~0x0fUL) != (eax & ~0x0fUL) )
+        gdprintk(XENLOG_INFO, "HVM restore (%u): VM saved on one CPU "
+                 "(%#"PRIx32") and restored on another (%#"PRIx32").\n", 
+                 d->domain_id, hdr->cpuid, eax);
     /* Restore guest's preferred TSC frequency. */
     if ( hdr->gtsc_khz )

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] xen: allow HVM save/restore from different cpus, Xen patchbot-unstable <=