Commit 09e11723 authored by Paul Mundt's avatar Paul Mundt

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: default avatarPaul Mundt <lethal@linux-sh.org>
parent a1042aa2
...@@ -443,7 +443,7 @@ void __init setup_arch(char **cmdline_p) ...@@ -443,7 +443,7 @@ void __init setup_arch(char **cmdline_p)
nodes_clear(node_online_map); nodes_clear(node_online_map);
/* Setup bootmem with available RAM */ pmb_init();
lmb_init(); lmb_init();
setup_memory(); setup_memory();
sparse_init(); sparse_init();
...@@ -452,7 +452,6 @@ void __init setup_arch(char **cmdline_p) ...@@ -452,7 +452,6 @@ void __init setup_arch(char **cmdline_p)
conswitchp = &dummy_con; conswitchp = &dummy_con;
#endif #endif
paging_init(); paging_init();
pmb_init();
ioremap_fixed_init(); ioremap_fixed_init();
......
...@@ -74,6 +74,9 @@ void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end) ...@@ -74,6 +74,9 @@ void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end)
start_pfn = start >> PAGE_SHIFT; start_pfn = start >> PAGE_SHIFT;
end_pfn = end >> PAGE_SHIFT; end_pfn = end >> PAGE_SHIFT;
pmb_bolt_mapping((unsigned long)__va(start), start, end - start,
PAGE_KERNEL);
lmb_add(start, end - start); lmb_add(start, end - start);
__add_active_range(nid, start_pfn, end_pfn); __add_active_range(nid, start_pfn, end_pfn);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment