Revert "sh: Ensure fixmap and store queue space can co-exist."
authorPaul Mundt <lethal@linux-sh.org>
Fri, 18 May 2012 10:30:05 +0000 (19:30 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 18 May 2012 10:30:05 +0000 (19:30 +0900)
This reverts commit 20e7c297efeca0861adcca073a0d283da659834b.
With store queues enabled the area above P4SEG has special properties
from the MMU's point of view, which was causing fixmap failure. We'll
have to do something else to satisfy the vmalloc range check.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/include/asm/fixmap.h
arch/sh/mm/fault.c

index 41cda1264bb0c654cbf28e18bcf274bd471af803..cbe0186b679433d988263f73945df8f3940e99d8 100644 (file)
@@ -94,7 +94,7 @@ extern void __clear_fixmap(enum fixed_addresses idx, pgprot_t flags);
  * at the top of mem..
  */
 #ifdef CONFIG_SUPERH32
-#define FIXADDR_TOP    (P3_ADDR_MAX - PAGE_SIZE)
+#define FIXADDR_TOP    (P4SEG - PAGE_SIZE)
 #else
 #define FIXADDR_TOP    ((unsigned long)(-PAGE_SIZE))
 #endif
index 16799f920f90e0a1a01ca095526d49558066647b..b0345f09c19799ab8c1582bf326991294e364572 100644 (file)
@@ -169,8 +169,8 @@ static noinline int vmalloc_fault(unsigned long address)
        pmd_t *pmd_k;
        pte_t *pte_k;
 
-       /* Make sure we are in vmalloc/module area: */
-       if (!is_vmalloc_addr((void *)address))
+       /* Make sure we are in vmalloc/module/P3 area: */
+       if (!(address >= P3SEG && address < P3_ADDR_MAX))
                return -1;
 
        /*