Commit f1d7062a authored by Thomas Gleixner's avatar Thomas Gleixner

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: default avatarThomas Gleixner <tglx@linutronix.de>
parent 030cb6c0
...@@ -345,12 +345,6 @@ static inline void setup_secondary_clock(void) ...@@ -345,12 +345,6 @@ static inline void setup_secondary_clock(void)
} }
#endif #endif
static inline void paravirt_post_allocator_init(void)
{
if (pv_init_ops.post_allocator_init)
(*pv_init_ops.post_allocator_init)();
}
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip, static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip,
unsigned long start_esp) unsigned long start_esp)
......
...@@ -78,9 +78,6 @@ struct pv_init_ops { ...@@ -78,9 +78,6 @@ struct pv_init_ops {
*/ */
unsigned (*patch)(u8 type, u16 clobber, void *insnbuf, unsigned (*patch)(u8 type, u16 clobber, void *insnbuf,
unsigned long addr, unsigned len); unsigned long addr, unsigned len);
/* Basic arch-specific setup */
void (*post_allocator_init)(void);
}; };
......
...@@ -63,10 +63,6 @@ static inline int is_visws_box(void) { return 0; } ...@@ -63,10 +63,6 @@ static inline int is_visws_box(void) { return 0; }
extern struct x86_quirks *x86_quirks; extern struct x86_quirks *x86_quirks;
extern unsigned long saved_video_mode; extern unsigned long saved_video_mode;
#ifndef CONFIG_PARAVIRT
#define paravirt_post_allocator_init() do {} while (0)
#endif
extern void reserve_standard_io_resources(void); extern void reserve_standard_io_resources(void);
extern void i386_reserve_resources(void); extern void i386_reserve_resources(void);
......
...@@ -962,7 +962,6 @@ void __init setup_arch(char **cmdline_p) ...@@ -962,7 +962,6 @@ void __init setup_arch(char **cmdline_p)
x86_init.paging.pagetable_setup_start(swapper_pg_dir); x86_init.paging.pagetable_setup_start(swapper_pg_dir);
paging_init(); paging_init();
x86_init.paging.pagetable_setup_done(swapper_pg_dir); x86_init.paging.pagetable_setup_done(swapper_pg_dir);
paravirt_post_allocator_init();
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
map_vsyscall(); map_vsyscall();
......
...@@ -839,8 +839,6 @@ static const struct pv_info xen_info __initdata = { ...@@ -839,8 +839,6 @@ static const struct pv_info xen_info __initdata = {
static const struct pv_init_ops xen_init_ops __initdata = { static const struct pv_init_ops xen_init_ops __initdata = {
.patch = xen_patch, .patch = xen_patch,
.post_allocator_init = xen_post_allocator_init,
}; };
static const struct pv_time_ops xen_time_ops __initdata = { static const struct pv_time_ops xen_time_ops __initdata = {
......
...@@ -1229,9 +1229,12 @@ static __init void xen_pagetable_setup_start(pgd_t *base) ...@@ -1229,9 +1229,12 @@ static __init void xen_pagetable_setup_start(pgd_t *base)
{ {
} }
static void xen_post_allocator_init(void);
static __init void xen_pagetable_setup_done(pgd_t *base) static __init void xen_pagetable_setup_done(pgd_t *base)
{ {
xen_setup_shared_info(); xen_setup_shared_info();
xen_post_allocator_init();
} }
static void xen_write_cr2(unsigned long cr2) static 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,7 +1844,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
#endif #endif
} }
__init void xen_post_allocator_init(void) static __init void xen_post_allocator_init(void)
{ {
pv_mmu_ops.set_pte = xen_set_pte; pv_mmu_ops.set_pte = xen_set_pte;
pv_mmu_ops.set_pmd = xen_set_pmd; pv_mmu_ops.set_pmd = xen_set_pmd;
......
...@@ -30,8 +30,6 @@ pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn); ...@@ -30,8 +30,6 @@ pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn);
void xen_ident_map_ISA(void); void xen_ident_map_ISA(void);
void xen_reserve_top(void); void xen_reserve_top(void);
void xen_post_allocator_init(void);
char * __init xen_memory_setup(void); char * __init xen_memory_setup(void);
void __init xen_arch_setup(void); void __init xen_arch_setup(void);
void __init xen_init_IRQ(void); void __init xen_init_IRQ(void);
......
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