aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2008-01-30 13:34:04 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:34:04 +0100
commita40343497e8983cdf07fde99c9081ee62b96f745 (patch)
treea22f3b40f051bf1efa1a4a5cde5bac34288e8249
parented724be65fa18833244d81b484e425fc838837fa (diff)
x86: fix ioremap pgprot inconsistency
The pgprot flags which are handed into ioremap_page_range() are different to those which are set in change_page_attr(). The ioremap_page_range flags are executable, while the c_p_a flags are not. Also make the mappings global (which is a NOP currently on 32bit, although CPUs from PPRO+ onwards support it, but that's a separate fix.) Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/mm/ioremap_32.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/mm/ioremap_32.c b/arch/x86/mm/ioremap_32.c
index f8e6c4709cc..18757f058bd 100644
--- a/arch/x86/mm/ioremap_32.c
+++ b/arch/x86/mm/ioremap_32.c
@@ -67,8 +67,7 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l
return NULL;
}
- prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY
- | _PAGE_ACCESSED | flags);
+ prot = MAKE_GLOBAL(__PAGE_KERNEL | flags);
/*
* Mappings have to be page-aligned