aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-20 07:13:52 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-08-31 03:35:45 -0400
commitf1d7062a235d057e5d85ed2860bef609e0160cde (patch)
tree69c65f74fb105dde838409bf312c766af9991b32
parent030cb6c00d242c20e92a3327d0cac17ce02d0cc3 (diff)
x86: Move xen_post_allocator_init into xen_pagetable_setup_done
We really do not need two paravirt/x86_init_ops functions which are called in two consecutive source lines. Move the only user of post_allocator_init into the already existing pagetable_setup_done function. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/include/asm/paravirt.h6
-rw-r--r--arch/x86/include/asm/paravirt_types.h3
-rw-r--r--arch/x86/include/asm/setup.h4
-rw-r--r--arch/x86/kernel/setup.c1
-rw-r--r--arch/x86/xen/enlighten.c2
-rw-r--r--arch/x86/xen/mmu.c5
-rw-r--r--arch/x86/xen/xen-ops.h2
7 files changed, 4 insertions, 19 deletions
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 1caf25b91e6b..7ce415e844b6 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -345,12 +345,6 @@ static inline void setup_secondary_clock(void)
345} 345}
346#endif 346#endif
347 347
348static inline void paravirt_post_allocator_init(void)
349{
350 if (pv_init_ops.post_allocator_init)
351 (*pv_init_ops.post_allocator_init)();
352}
353
354#ifdef CONFIG_SMP 348#ifdef CONFIG_SMP
355static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip, 349static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip,
356 unsigned long start_esp) 350 unsigned long start_esp)
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 4039eefd3ebc..ecc74e5ad407 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -78,9 +78,6 @@ struct pv_init_ops {
78 */ 78 */
79 unsigned (*patch)(u8 type, u16 clobber, void *insnbuf, 79 unsigned (*patch)(u8 type, u16 clobber, void *insnbuf,
80 unsigned long addr, unsigned len); 80 unsigned long addr, unsigned len);
81
82 /* Basic arch-specific setup */
83 void (*post_allocator_init)(void);
84}; 81};
85 82
86 83
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index 7751d1f92bc9..58b58952b80d 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -63,10 +63,6 @@ static inline int is_visws_box(void) { return 0; }
63extern struct x86_quirks *x86_quirks; 63extern struct x86_quirks *x86_quirks;
64extern unsigned long saved_video_mode; 64extern unsigned long saved_video_mode;
65 65
66#ifndef CONFIG_PARAVIRT
67#define paravirt_post_allocator_init() do {} while (0)
68#endif
69
70extern void reserve_standard_io_resources(void); 66extern void reserve_standard_io_resources(void);
71extern void i386_reserve_resources(void); 67extern void i386_reserve_resources(void);
72 68
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 4952d63dd67a..43ec6aa175bd 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -962,7 +962,6 @@ void __init setup_arch(char **cmdline_p)
962 x86_init.paging.pagetable_setup_start(swapper_pg_dir); 962 x86_init.paging.pagetable_setup_start(swapper_pg_dir);
963 paging_init(); 963 paging_init();
964 x86_init.paging.pagetable_setup_done(swapper_pg_dir); 964 x86_init.paging.pagetable_setup_done(swapper_pg_dir);
965 paravirt_post_allocator_init();
966 965
967#ifdef CONFIG_X86_64 966#ifdef CONFIG_X86_64
968 map_vsyscall(); 967 map_vsyscall();
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 12ea09ec39b5..a924caa168dd 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -839,8 +839,6 @@ static const struct pv_info xen_info __initdata = {
839 839
840static const struct pv_init_ops xen_init_ops __initdata = { 840static const struct pv_init_ops xen_init_ops __initdata = {
841 .patch = xen_patch, 841 .patch = xen_patch,
842
843 .post_allocator_init = xen_post_allocator_init,
844}; 842};
845 843
846static const struct pv_time_ops xen_time_ops __initdata = { 844static const struct pv_time_ops xen_time_ops __initdata = {
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index dbec51da930e..093dd59b5385 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1229,9 +1229,12 @@ static __init void xen_pagetable_setup_start(pgd_t *base)
1229{ 1229{
1230} 1230}
1231 1231
1232static void xen_post_allocator_init(void);
1233
1232static __init void xen_pagetable_setup_done(pgd_t *base) 1234static __init void xen_pagetable_setup_done(pgd_t *base)
1233{ 1235{
1234 xen_setup_shared_info(); 1236 xen_setup_shared_info();
1237 xen_post_allocator_init();
1235} 1238}
1236 1239
1237static void xen_write_cr2(unsigned long cr2) 1240static void xen_write_cr2(unsigned long cr2)
@@ -1841,7 +1844,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
1841#endif 1844#endif
1842} 1845}
1843 1846
1844__init void xen_post_allocator_init(void) 1847static __init void xen_post_allocator_init(void)
1845{ 1848{
1846 pv_mmu_ops.set_pte = xen_set_pte; 1849 pv_mmu_ops.set_pte = xen_set_pte;
1847 pv_mmu_ops.set_pmd = xen_set_pmd; 1850 pv_mmu_ops.set_pmd = xen_set_pmd;
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 22494fd4c9b5..355fa6b99c9c 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -30,8 +30,6 @@ pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn);
30void xen_ident_map_ISA(void); 30void xen_ident_map_ISA(void);
31void xen_reserve_top(void); 31void xen_reserve_top(void);
32 32
33void xen_post_allocator_init(void);
34
35char * __init xen_memory_setup(void); 33char * __init xen_memory_setup(void);
36void __init xen_arch_setup(void); 34void __init xen_arch_setup(void);
37void __init xen_init_IRQ(void); 35void __init xen_init_IRQ(void);