ia64/xen-unstable

changeset 13998:32a059913591

x86-64: fix Lx_DISALLOW_MASK

x86-64's Lx_DISALLOW_MASK values weren't properly taking care of the
NX bit, L3 and L4 were needlessly customized, and the compat mode L3
one wasn't really matching native PAE.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
author kfraser@localhost.localdomain
date Fri Feb 16 16:34:28 2007 +0000 (2007-02-16)
parents 7c739272bac8
children 3c827d68fa87
files xen/include/asm-x86/x86_64/page.h
line diff
     1.1 --- a/xen/include/asm-x86/x86_64/page.h	Fri Feb 16 16:05:01 2007 +0000
     1.2 +++ b/xen/include/asm-x86/x86_64/page.h	Fri Feb 16 16:34:28 2007 +0000
     1.3 @@ -89,14 +89,14 @@ typedef l4_pgentry_t root_pgentry_t;
     1.4   * Permit the NX bit if the hardware supports it.
     1.5   * Note that range [62:52] is available for software use on x86/64.
     1.6   */
     1.7 -#define BASE_DISALLOW_MASK (0xFF000180U & ~_PAGE_NX)
     1.8 +#define BASE_DISALLOW_MASK (0xFF800180U & ~_PAGE_NX)
     1.9  
    1.10  #define L1_DISALLOW_MASK (BASE_DISALLOW_MASK | _PAGE_GNTTAB)
    1.11  #define L2_DISALLOW_MASK (BASE_DISALLOW_MASK)
    1.12 -#define L3_DISALLOW_MASK (BASE_DISALLOW_MASK | 0x180U /* must-be-zero */)
    1.13 -#define L4_DISALLOW_MASK (BASE_DISALLOW_MASK | 0x180U /* must-be-zero */)
    1.14 +#define L3_DISALLOW_MASK (BASE_DISALLOW_MASK)
    1.15 +#define L4_DISALLOW_MASK (BASE_DISALLOW_MASK)
    1.16  
    1.17 -#define COMPAT_L3_DISALLOW_MASK L3_DISALLOW_MASK
    1.18 +#define COMPAT_L3_DISALLOW_MASK 0xFFFFF1E6U
    1.19  
    1.20  #define PAGE_HYPERVISOR         (__PAGE_HYPERVISOR         | _PAGE_GLOBAL)
    1.21  #define PAGE_HYPERVISOR_NOCACHE (__PAGE_HYPERVISOR_NOCACHE | _PAGE_GLOBAL)