[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] 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@xxxxxxxxxx>

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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.