aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/init_32.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-02-20 02:29:09 -0500
committerTejun Heo <tj@kernel.org>2009-02-20 02:29:09 -0500
commit11124411aa95827404d6bfdfc14c908e1b54513c (patch)
treee613edf6df9d1130e0ebe853ba1390c8389b25b3 /arch/x86/mm/init_32.c
parentfbf59bc9d74d1fb30b8e0630743aff2806eafcea (diff)
x86: convert to the new dynamic percpu allocator
Impact: use new dynamic allocator, unified access to static/dynamic percpu memory Convert to the new dynamic percpu allocator. * implement populate_extra_pte() for both 32 and 64 * update setup_per_cpu_areas() to use pcpu_setup_static() * define __addr_to_pcpu_ptr() and __pcpu_ptr_to_addr() * define config HAVE_DYNAMIC_PER_CPU_AREA Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/mm/init_32.c')
-rw-r--r--arch/x86/mm/init_32.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 00263bf07a88..8b1a0ef7f874 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -137,6 +137,16 @@ static pte_t * __init one_page_table_init(pmd_t *pmd)
137 return pte_offset_kernel(pmd, 0); 137 return pte_offset_kernel(pmd, 0);
138} 138}
139 139
140void __init populate_extra_pte(unsigned long vaddr)
141{
142 int pgd_idx = pgd_index(vaddr);
143 int pmd_idx = pmd_index(vaddr);
144 pmd_t *pmd;
145
146 pmd = one_md_table_init(swapper_pg_dir + pgd_idx);
147 one_page_table_init(pmd + pmd_idx);
148}
149
140static pte_t *__init page_table_kmap_check(pte_t *pte, pmd_t *pmd, 150static pte_t *__init page_table_kmap_check(pte_t *pte, pmd_t *pmd,
141 unsigned long vaddr, pte_t *lastpte) 151 unsigned long vaddr, pte_t *lastpte)
142{ 152{