aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-20 07:19:57 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-08-31 03:35:45 -0400
commit6f30c1ac3fcf11e08f00670f293546a112cdf4e3 (patch)
treed392c751369ea01055a5fc2aeb5320cde13abe0d /arch/x86/kernel
parent42bbdb43b16d233b2dacb4cd76e28f61c2a86dc6 (diff)
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: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/paravirt.c10
-rw-r--r--arch/x86/kernel/setup.c1
-rw-r--r--arch/x86/kernel/x86_init.c2
3 files changed, 4 insertions, 9 deletions
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index 80275ef1651a..f7a5fb79d18a 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -54,7 +54,7 @@ u64 _paravirt_ident_64(u64 x)
54 return x; 54 return x;
55} 55}
56 56
57static void __init default_banner(void) 57void __init default_banner(void)
58{ 58{
59 printk(KERN_INFO "Booting paravirtualized kernel on %s\n", 59 printk(KERN_INFO "Booting paravirtualized kernel on %s\n",
60 pv_info.name); 60 pv_info.name);
@@ -208,13 +208,6 @@ extern void native_irq_enable_sysexit(void);
208extern void native_usergs_sysret32(void); 208extern void native_usergs_sysret32(void);
209extern void native_usergs_sysret64(void); 209extern void native_usergs_sysret64(void);
210 210
211static int __init print_banner(void)
212{
213 pv_init_ops.banner();
214 return 0;
215}
216core_initcall(print_banner);
217
218static struct resource reserve_ioports = { 211static struct resource reserve_ioports = {
219 .start = 0, 212 .start = 0,
220 .end = IO_SPACE_LIMIT, 213 .end = IO_SPACE_LIMIT,
@@ -310,7 +303,6 @@ struct pv_info pv_info = {
310 303
311struct pv_init_ops pv_init_ops = { 304struct pv_init_ops pv_init_ops = {
312 .patch = native_patch, 305 .patch = native_patch,
313 .banner = default_banner,
314}; 306};
315 307
316struct pv_time_ops pv_time_ops = { 308struct pv_time_ops pv_time_ops = {
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index d12aa82c9c32..bc5f0e561cfd 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1012,6 +1012,7 @@ void __init setup_arch(char **cmdline_p)
1012 conswitchp = &dummy_con; 1012 conswitchp = &dummy_con;
1013#endif 1013#endif
1014#endif 1014#endif
1015 x86_init.oem.banner();
1015} 1016}
1016 1017
1017#ifdef CONFIG_X86_32 1018#ifdef CONFIG_X86_32
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index fa2d849be35a..08fea49d59a2 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -6,6 +6,7 @@
6#include <linux/init.h> 6#include <linux/init.h>
7 7
8#include <asm/bios_ebda.h> 8#include <asm/bios_ebda.h>
9#include <asm/paravirt.h>
9#include <asm/mpspec.h> 10#include <asm/mpspec.h>
10#include <asm/setup.h> 11#include <asm/setup.h>
11#include <asm/e820.h> 12#include <asm/e820.h>
@@ -45,5 +46,6 @@ struct __initdata x86_init_ops x86_init = {
45 46
46 .oem = { 47 .oem = {
47 .arch_setup = x86_init_noop, 48 .arch_setup = x86_init_noop,
49 .banner = default_banner,
48 }, 50 },
49}; 51};