summaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2012-05-18 19:30:05 +0900
committerPaul Mundt <lethal@linux-sh.org>2012-05-18 19:30:05 +0900
commitc3e0af98792f9f1c840dc969f883e46d0ced3e00 (patch)
tree4e84c35e704337aec0fef7d7f824f14f6d230d61 /arch/sh
parent0e8963de1fe95e7fbc30c79c1dbc7cb1ea0cf699 (diff)
downloadop-kernel-dev-c3e0af98792f9f1c840dc969f883e46d0ced3e00.zip
op-kernel-dev-c3e0af98792f9f1c840dc969f883e46d0ced3e00.tar.gz
Revert "sh: Ensure fixmap and store queue space can co-exist."
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>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/include/asm/fixmap.h2
-rw-r--r--arch/sh/mm/fault.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/sh/include/asm/fixmap.h b/arch/sh/include/asm/fixmap.h
index 41cda12..cbe0186 100644
--- a/arch/sh/include/asm/fixmap.h
+++ b/arch/sh/include/asm/fixmap.h
@@ -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
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c
index 16799f9..b0345f0 100644
--- a/arch/sh/mm/fault.c
+++ b/arch/sh/mm/fault.c
@@ -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;
/*
OpenPOWER on IntegriCloud