aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2011-05-31 14:03:45 +0100
committerKeir Fraser <keir@xen.org>2011-05-31 14:03:45 +0100
commit27166be8e5dd91f34e3fc067008a79507b7dcba8 (patch)
treeeb15366e0f0d8517c4d8fd4f55a6c2de651664bb
parentb91951c8c1a103b4f979d648775e7649d6988f32 (diff)
downloadxen-27166be8e5dd91f34e3fc067008a79507b7dcba8.tar.gz
xen-27166be8e5dd91f34e3fc067008a79507b7dcba8.tar.bz2
xen-27166be8e5dd91f34e3fc067008a79507b7dcba8.zip
x86: Fix spurious_page_fault() for 1GB superpages.
From: Xin Li <xin.li@intel.com> Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23441:4d28306d6e33 xen-unstable date: Tue May 31 13:57:45 2011 +0100
-rw-r--r--xen/arch/x86/traps.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e69c43ed35..61ee6da7cb 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1162,6 +1162,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