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> Index: 2007-02-07/xen/include/asm-x86/x86_64/page.h ==================================================================--- 2007-02-07.orig/xen/include/asm-x86/x86_64/page.h 2007-01-08 14:15:32.000000000 +0100 +++ 2007-02-07/xen/include/asm-x86/x86_64/page.h 2007-02-16 10:11:48.000000000 +0100 @@ -89,14 +89,14 @@ typedef l4_pgentry_t root_pgentry_t; * Permit the NX bit if the hardware supports it. * Note that range [62:52] is available for software use on x86/64. */ -#define BASE_DISALLOW_MASK (0xFF000180U & ~_PAGE_NX) +#define BASE_DISALLOW_MASK (0xFF800180U & ~_PAGE_NX) #define L1_DISALLOW_MASK (BASE_DISALLOW_MASK | _PAGE_GNTTAB) #define L2_DISALLOW_MASK (BASE_DISALLOW_MASK) -#define L3_DISALLOW_MASK (BASE_DISALLOW_MASK | 0x180U /* must-be-zero */) -#define L4_DISALLOW_MASK (BASE_DISALLOW_MASK | 0x180U /* must-be-zero */) +#define L3_DISALLOW_MASK (BASE_DISALLOW_MASK) +#define L4_DISALLOW_MASK (BASE_DISALLOW_MASK) -#define COMPAT_L3_DISALLOW_MASK L3_DISALLOW_MASK +#define COMPAT_L3_DISALLOW_MASK 0xFFFFF1E6U #define PAGE_HYPERVISOR (__PAGE_HYPERVISOR | _PAGE_GLOBAL) #define PAGE_HYPERVISOR_NOCACHE (__PAGE_HYPERVISOR_NOCACHE | _PAGE_GLOBAL) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel