summaryrefslogtreecommitdiffstats
path: root/arch/sh/mm
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-03-03 05:16:31 +0100
committerPaul Mundt <lethal@linux-sh.org>2010-03-03 05:16:31 +0100
commit09e1172317d1038918c5a139ba31155610f802b5 (patch)
treed8aa26ccf5163879f1fd8fcfb8235ccf8914b5ef /arch/sh/mm
parentsh: check for existing mappings for bolted PMB entries. (diff)
downloadlinux-09e1172317d1038918c5a139ba31155610f802b5.tar.xz
linux-09e1172317d1038918c5a139ba31155610f802b5.zip
sh: establish PMB mappings for NUMA nodes.
In the case of NUMA emulation when in range PPNs are being used for secondary nodes, we need to make sure that the PMB has a mapping for it before setting up the pgdat. This prevents the MMU from resetting. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm')
-rw-r--r--arch/sh/mm/numa.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/sh/mm/numa.c b/arch/sh/mm/numa.c
index 422e92721878..961b34085e3b 100644
--- a/arch/sh/mm/numa.c
+++ b/arch/sh/mm/numa.c
@@ -74,6 +74,9 @@ void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end)
start_pfn = start >> PAGE_SHIFT;
end_pfn = end >> PAGE_SHIFT;
+ pmb_bolt_mapping((unsigned long)__va(start), start, end - start,
+ PAGE_KERNEL);
+
lmb_add(start, end - start);
__add_active_range(nid, start_pfn, end_pfn);