diff options
author | Tejun Heo <tj@kernel.org> | 2009-02-23 21:57:21 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-02-23 21:57:21 -0500 |
commit | 458a3e644c3327be529393982e24277eda8f1ac7 (patch) | |
tree | f39bab1d54eeb222565c8d9086f2e4f645d97f58 /arch/x86/kernel | |
parent | c0c0a29379b5848aec2e8f1c58d853d3cb7118b8 (diff) |
x86: update populate_extra_pte() and add populate_extra_pmd()
Impact: minor change to populate_extra_pte() and addition of pmd flavor
Update populate_extra_pte() to return pointer to the pte_t for the
specified address and add populate_extra_pmd() which only populates
till the pmd and returns pointer to the pmd entry for the address.
For 64bit, pud/pmd/pte fill functions are separated out from
set_pte_vaddr[_pud]() and used for set_pte_vaddr[_pud]() and
populate_extra_{pte|pmd}().
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/setup_percpu.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index 2dce43558217..671e6528a82d 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c | |||
@@ -41,6 +41,11 @@ unsigned long __per_cpu_offset[NR_CPUS] __read_mostly = { | |||
41 | }; | 41 | }; |
42 | EXPORT_SYMBOL(__per_cpu_offset); | 42 | EXPORT_SYMBOL(__per_cpu_offset); |
43 | 43 | ||
44 | static void __init pcpu4k_populate_pte(unsigned long addr) | ||
45 | { | ||
46 | populate_extra_pte(addr); | ||
47 | } | ||
48 | |||
44 | static inline void setup_percpu_segment(int cpu) | 49 | static inline void setup_percpu_segment(int cpu) |
45 | { | 50 | { |
46 | #ifdef CONFIG_X86_32 | 51 | #ifdef CONFIG_X86_32 |
@@ -104,7 +109,7 @@ void __init setup_per_cpu_areas(void) | |||
104 | } | 109 | } |
105 | } | 110 | } |
106 | 111 | ||
107 | pcpu_unit_size = pcpu_setup_static(populate_extra_pte, pages, size); | 112 | pcpu_unit_size = pcpu_setup_static(pcpu4k_populate_pte, pages, size); |
108 | 113 | ||
109 | free_bootmem(__pa(pages), pages_size); | 114 | free_bootmem(__pa(pages), pages_size); |
110 | 115 | ||