ia64/xen-unstable

changeset 9793:d580da01ded7

SVM patch to ensure that PAE bit is set for 32bit guests on 32bit PAE,
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>
author kaf24@firebug.cl.cam.ac.uk
date Thu Apr 20 17:02:42 2006 +0100 (2006-04-20)
parents 75f8e9c4e483
children 482c3d3cbc92
files xen/include/asm-x86/hvm/svm/vmcb.h
line diff
     1.1 --- a/xen/include/asm-x86/hvm/svm/vmcb.h	Thu Apr 20 15:45:09 2006 +0100
     1.2 +++ b/xen/include/asm-x86/hvm/svm/vmcb.h	Thu Apr 20 17:02:42 2006 +0100
     1.3 @@ -473,10 +473,10 @@ enum {
     1.4  #define VMCB_EFLAGS_RESERVED_1          0x00000002 /* bitmap for 1 */
     1.5  
     1.6  /* These bits in the CR4 are owned by the host */
     1.7 -#ifdef __i386__
     1.8 -#define SVM_CR4_HOST_MASK (0)
     1.9 +#if CONFIG_PAGING_LEVELS >= 3
    1.10 +#define SVM_CR4_HOST_MASK (X86_CR4_PAE)
    1.11  #else
    1.12 -#define SVM_CR4_HOST_MASK (X86_CR4_PAE)
    1.13 +#define SVM_CR4_HOST_MASK 0
    1.14  #endif
    1.15  
    1.16