|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] Allow paged real mode during vmrun emulat
# HG changeset patch
# User cegger
# Date 1298892109 -3600
# Node ID f9ba1b2ba93d1c168ce597c48681a7ac3434792e
# Parent 981397a3a586e66c957d82b553d8e5df47ed8dbf
Allow paged real mode during vmrun emulation.
Emulate cr0 and cr4 when guest does not intercept them.
Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>
Acked-by: Eddie Dong <eddie.dong@xxxxxxxxx>
Acked-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Committed-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
---
diff -r 981397a3a586 -r f9ba1b2ba93d xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c Mon Feb 28 12:21:46 2011 +0100
+++ b/xen/arch/x86/hvm/hvm.c Mon Feb 28 12:21:49 2011 +0100
@@ -55,6 +55,7 @@
#include <asm/hvm/support.h>
#include <asm/hvm/cacheattr.h>
#include <asm/hvm/trace.h>
+#include <asm/hvm/nestedhvm.h>
#include <asm/mtrr.h>
#include <asm/apic.h>
#include <public/sched.h>
@@ -1335,7 +1336,8 @@
/* ET is reserved and should be always be 1. */
value |= X86_CR0_ET;
- if ( (value & (X86_CR0_PE | X86_CR0_PG)) == X86_CR0_PG )
+ if ( !nestedhvm_vmswitch_in_progress(v) &&
+ (value & (X86_CR0_PE | X86_CR0_PG)) == X86_CR0_PG )
goto gpf;
if ( (value & X86_CR0_PG) && !(old_value & X86_CR0_PG) )
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] Allow paged real mode during vmrun emulation.,
Xen patchbot-unstable <=
|
|
|
|
|