aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/mm/init_32.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-02-20 16:29:09 +0900
committerTejun Heo <tj@kernel.org>2009-02-20 16:29:09 +0900
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 00263bf07a8..8b1a0ef7f87 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)
return pte_offset_kernel(pmd, 0);
}
+void __init populate_extra_pte(unsigned long vaddr)
+{
+ int pgd_idx = pgd_index(vaddr);
+ int pmd_idx = pmd_index(vaddr);
+ pmd_t *pmd;
+
+ pmd = one_md_table_init(swapper_pg_dir + pgd_idx);
+ one_page_table_init(pmd + pmd_idx);
+}
+
static pte_t *__init page_table_kmap_check(pte_t *pte, pmd_t *pmd,
unsigned long vaddr, pte_t *lastpte)
{