+++ /dev/null
-From stable-bounces@linux.kernel.org Mon Jun 23 16:30:37 2008
-From: Jeremy Fitzhardinge <jeremy@goop.org>
-Date: Mon, 23 Jun 2008 23:30:20 GMT
-Subject: xen: mask unwanted pte bits in __supported_pte_mask
-To: jejb@kernel.org, stable@kernel.org
-Message-ID: <200806232330.m5NNUKHK010393@hera.kernel.org>
-
-From: Jeremy Fitzhardinge <jeremy@goop.org>
-
-commit 05345b0f006ac226d0d25d48fcb2d792ac44a071 upstream
-
-[ Stable: this isn't a bugfix in itself, but it's a pre-requiste
- for "xen: don't drop NX bit" ]
-
-Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
-Cc: the arch/x86 maintainers <x86@kernel.org>
-Signed-off-by: Ingo Molnar <mingo@elte.hu>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- arch/x86/xen/enlighten.c | 5 +++++
- arch/x86/xen/mmu.c | 4 +---
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
---- a/arch/x86/xen/enlighten.c
-+++ b/arch/x86/xen/enlighten.c
-@@ -1214,6 +1214,11 @@ asmlinkage void __init xen_start_kernel(
- if (xen_feature(XENFEAT_supervisor_mode_kernel))
- pv_info.kernel_rpl = 0;
-
-+ /* Prevent unwanted bits from being set in PTEs. */
-+ __supported_pte_mask &= ~_PAGE_GLOBAL;
-+ if (!is_initial_xendomain())
-+ __supported_pte_mask &= ~(_PAGE_PWT | _PAGE_PCD);
-+
- /* set the limit of our address space */
- xen_reserve_top();
-
---- a/arch/x86/xen/mmu.c
-+++ b/arch/x86/xen/mmu.c
-@@ -244,10 +244,8 @@ unsigned long long xen_pgd_val(pgd_t pgd
-
- pte_t xen_make_pte(unsigned long long pte)
- {
-- if (pte & _PAGE_PRESENT) {
-+ if (pte & _PAGE_PRESENT)
- pte = phys_to_machine(XPADDR(pte)).maddr;
-- pte &= ~(_PAGE_PCD | _PAGE_PWT);
-- }
-
- return (pte_t){ .pte = pte };
- }