x86: Fix spurious_page_fault() for 1GB superpages.
authorKeir Fraser <keir@xen.org>
Tue, 31 May 2011 12:57:45 +0000 (13:57 +0100)
committerKeir Fraser <keir@xen.org>
Tue, 31 May 2011 12:57:45 +0000 (13:57 +0100)
From: Xin Li <xin.li@intel.com>
Signed-off-by: Keir Fraser <keir@xen.org>
xen/arch/x86/traps.c

index 655e74c03c71225c35732ee924908275184b70b2..0852ab2bd6f8e4c62c2407287afd740a0ed2588a 100644 (file)
@@ -1195,6 +1195,8 @@ static int __spurious_page_fault(
     if ( ((l3e_get_flags(l3e) & required_flags) != required_flags) ||
          (l3e_get_flags(l3e) & disallowed_flags) )
         return 0;
+    if ( l3e_get_flags(l3e) & _PAGE_PSE )
+        return 1;
 #endif
 #endif