|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] Save disable event flags in guest context
# HG changeset patch
# User john.levon@xxxxxxx
# Date 1169823250 28800
# Node ID 65a037a7ad6b4a91dbe210b23665026571f637c4
# Parent fd7f1ca5e56c0130d7376cfabd3d39e17e5f05eb
Save disable event flags in guest context
We weren't storing the *disables_events flags when grabbing the guest context,
causing 64-bit guests that use the flags to fail when restoring.
Signed-off-by: John Levon <john.levon@xxxxxxx>
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -305,11 +305,15 @@ void arch_getdomaininfo_ctxt(
c->user_regs.eflags |= v->arch.iopl << 12;
}
- c->flags = 0;
if ( test_bit(_VCPUF_fpu_initialised, &v->vcpu_flags) )
- c->flags |= VGCF_i387_valid;
+ __set_bit(_VGCF_i387_valid, &c->flags);
+ else
+ __clear_bit(_VGCF_i387_valid, &c->flags);
+
if ( guest_kernel_mode(v, &v->arch.guest_context.user_regs) )
- c->flags |= VGCF_in_kernel;
+ __set_bit(_VGCF_in_kernel, &c->flags);
+ else
+ __clear_bit(_VGCF_in_kernel, &c->flags);
c->ctrlreg[3] = xen_pfn_to_cr3(pagetable_get_pfn(v->arch.guest_table));
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH] Save disable event flags in guest context,
john . levon <=
|
|
|
|
|