]> xenbits.xensource.com Git - people/vhanquez/xen.git/commitdiff
SVM patch to ensure that PAE bit is set for 32bit guests on 32bit PAE,
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Thu, 20 Apr 2006 16:04:58 +0000 (17:04 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Thu, 20 Apr 2006 16:04:58 +0000 (17:04 +0100)
by using paging levels>=3 rather than ifdef i386.  This patch fixes
the "black screen" hang issue when building w/XEN_TARGET_X86_PAE=y on
32bit.

Tested linux debian and win2003EE guests with pae=1.  The linux
guest boots without error, while the windows guest sometimes hits a
bug() in shadow.c.  Both VT and SVM encounter the same bug.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
xen/include/asm-x86/hvm/svm/vmcb.h

index 246144190c8a22070f5f61ee6692c52e586b7a7b..24f9322b880840a8bacf03fb4a420b1242a8b977 100644 (file)
@@ -473,10 +473,10 @@ enum {
 #define VMCB_EFLAGS_RESERVED_1          0x00000002 /* bitmap for 1 */
 
 /* These bits in the CR4 are owned by the host */
-#ifdef __i386__
-#define SVM_CR4_HOST_MASK (0)
-#else
+#if CONFIG_PAGING_LEVELS >= 3
 #define SVM_CR4_HOST_MASK (X86_CR4_PAE)
+#else
+#define SVM_CR4_HOST_MASK 0
 #endif