Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6f30c1ac authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

x86: Move paravirt banner printout to x86_init_ops



Replace another obscure paravirt magic and move it to
x86_init_ops. Such a hook is also useful for embedded and special
hardware.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 42bbdb43
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -918,6 +918,8 @@ static inline unsigned long __raw_local_irq_save(void)
#undef PVOP_VCALL4
#undef PVOP_CALL4

extern void default_banner(void);

#else  /* __ASSEMBLY__ */

#define _PVSITE(ptype, clobbers, ops, word, algn)	\
@@ -1058,5 +1060,7 @@ static inline unsigned long __raw_local_irq_save(void)
#endif	/* CONFIG_X86_32 */

#endif /* __ASSEMBLY__ */
#endif /* CONFIG_PARAVIRT */
#else  /* CONFIG_PARAVIRT */
# define default_banner x86_init_noop
#endif /* !CONFIG_PARAVIRT */
#endif /* _ASM_X86_PARAVIRT_H */
+0 −3
Original line number Diff line number Diff line
@@ -81,9 +81,6 @@ struct pv_init_ops {

	/* Basic arch-specific setup */
	void (*post_allocator_init)(void);

	/* Print a banner to identify the environment */
	void (*banner)(void);
};


+2 −0
Original line number Diff line number Diff line
@@ -59,9 +59,11 @@ struct x86_init_irqs {
/**
 * struct x86_init_oem - oem platform specific customizing functions
 * @arch_setup:			platform specific architecure setup
 * @banner:			print a platform specific banner
 */
struct x86_init_oem {
	void (*arch_setup)(void);
	void (*banner)(void);
};

/**
+1 −9
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ u64 _paravirt_ident_64(u64 x)
	return x;
}

static void __init default_banner(void)
void __init default_banner(void)
{
	printk(KERN_INFO "Booting paravirtualized kernel on %s\n",
	       pv_info.name);
@@ -208,13 +208,6 @@ extern void native_irq_enable_sysexit(void);
extern void native_usergs_sysret32(void);
extern void native_usergs_sysret64(void);

static int __init print_banner(void)
{
	pv_init_ops.banner();
	return 0;
}
core_initcall(print_banner);

static struct resource reserve_ioports = {
	.start = 0,
	.end = IO_SPACE_LIMIT,
@@ -310,7 +303,6 @@ struct pv_info pv_info = {

struct pv_init_ops pv_init_ops = {
	.patch = native_patch,
	.banner = default_banner,
};

struct pv_time_ops pv_time_ops = {
+1 −0
Original line number Diff line number Diff line
@@ -1012,6 +1012,7 @@ void __init setup_arch(char **cmdline_p)
	conswitchp = &dummy_con;
#endif
#endif
	x86_init.oem.banner();
}

#ifdef CONFIG_X86_32
Loading