* [PATCH] [HVM] fix 64-bit hvm guest migration
@ 2007-10-10 21:14 David Lively
2007-10-11 7:15 ` Keir Fraser
0 siblings, 1 reply; 2+ messages in thread
From: David Lively @ 2007-10-10 21:14 UTC (permalink / raw)
To: xen-devel
[-- Attachment #1: Type: text/plain, Size: 549 bytes --]
Hi -
We (well, Robert) just (earlier today) noticed we couldn't migrate
64-bit guests with the 3.1.1 and unstable hypervisors. The culprit was
a too-strict test on guest EFER bits, trivially fixed by the following
patch, which applies to both unstable and 3.1.1. Sorry we didn't catch
this before today ...
Dave
The sanity check for ctxt.msr_efer used to fail when EFER_LMA was set.
This prevent migration of 64-bit guests.
Signed-off-by: David Lively <dlively@virtualiron.com>
Signed-off-by: Robert Phillips <rphillips@virtualiron.com>
[-- Attachment #2: xen-hvm-load-efer-test.patch --]
[-- Type: text/x-patch, Size: 615 bytes --]
diff -r e56402b6e155 xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c Wed Oct 10 11:37:02 2007 -0400
+++ b/xen/arch/x86/hvm/hvm.c Wed Oct 10 11:37:02 2007 -0400
@@ -389,8 +389,7 @@ static int hvm_load_cpu_ctxt(struct doma
ctxt.msr_efer);
return -EINVAL;
}
-
- if ( (ctxt.msr_efer & ~(EFER_LME | EFER_NX | EFER_SCE)) ||
+ if ( (ctxt.msr_efer & ~(EFER_LME | EFER_LMA | EFER_NX | EFER_SCE)) ||
((sizeof(long) != 8) && (ctxt.msr_efer & EFER_LME)) ||
(!cpu_has_nx && (ctxt.msr_efer & EFER_NX)) ||
(!cpu_has_syscall && (ctxt.msr_efer & EFER_SCE)) ||
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] [HVM] fix 64-bit hvm guest migration
2007-10-10 21:14 [PATCH] [HVM] fix 64-bit hvm guest migration David Lively
@ 2007-10-11 7:15 ` Keir Fraser
0 siblings, 0 replies; 2+ messages in thread
From: Keir Fraser @ 2007-10-11 7:15 UTC (permalink / raw)
To: David Lively, xen-devel
Yep, that's a very obvious bug. I'll slip the 3.1.1 release tag for it and
get it pushed to the main public tree.
Thanks,
Keir
On 10/10/07 22:14, "David Lively" <dlively@virtualiron.com> wrote:
> Hi -
> We (well, Robert) just (earlier today) noticed we couldn't migrate
> 64-bit guests with the 3.1.1 and unstable hypervisors. The culprit was
> a too-strict test on guest EFER bits, trivially fixed by the following
> patch, which applies to both unstable and 3.1.1. Sorry we didn't catch
> this before today ...
>
> Dave
>
> The sanity check for ctxt.msr_efer used to fail when EFER_LMA was set.
> This prevent migration of 64-bit guests.
>
> Signed-off-by: David Lively <dlively@virtualiron.com>
> Signed-off-by: Robert Phillips <rphillips@virtualiron.com>
>
> diff -r e56402b6e155 xen/arch/x86/hvm/hvm.c
> --- a/xen/arch/x86/hvm/hvm.c Wed Oct 10 11:37:02 2007 -0400
> +++ b/xen/arch/x86/hvm/hvm.c Wed Oct 10 11:37:02 2007 -0400
> @@ -389,8 +389,7 @@ static int hvm_load_cpu_ctxt(struct doma
> ctxt.msr_efer);
> return -EINVAL;
> }
> -
> - if ( (ctxt.msr_efer & ~(EFER_LME | EFER_NX | EFER_SCE)) ||
> + if ( (ctxt.msr_efer & ~(EFER_LME | EFER_LMA | EFER_NX | EFER_SCE)) ||
> ((sizeof(long) != 8) && (ctxt.msr_efer & EFER_LME)) ||
> (!cpu_has_nx && (ctxt.msr_efer & EFER_NX)) ||
> (!cpu_has_syscall && (ctxt.msr_efer & EFER_SCE)) ||
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-10-11 7:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-10 21:14 [PATCH] [HVM] fix 64-bit hvm guest migration David Lively
2007-10-11 7:15 ` Keir Fraser
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.