diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-08-20 07:19:57 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-08-31 03:35:45 -0400 |
commit | 6f30c1ac3fcf11e08f00670f293546a112cdf4e3 (patch) | |
tree | d392c751369ea01055a5fc2aeb5320cde13abe0d /arch/x86/kernel | |
parent | 42bbdb43b16d233b2dacb4cd76e28f61c2a86dc6 (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.c | 10 | ||||
-rw-r--r-- | arch/x86/kernel/setup.c | 1 | ||||
-rw-r--r-- | arch/x86/kernel/x86_init.c | 2 |
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 | ||
57 | static void __init default_banner(void) | 57 | void __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); | |||
208 | extern void native_usergs_sysret32(void); | 208 | extern void native_usergs_sysret32(void); |
209 | extern void native_usergs_sysret64(void); | 209 | extern void native_usergs_sysret64(void); |
210 | 210 | ||
211 | static int __init print_banner(void) | ||
212 | { | ||
213 | pv_init_ops.banner(); | ||
214 | return 0; | ||
215 | } | ||
216 | core_initcall(print_banner); | ||
217 | |||
218 | static struct resource reserve_ioports = { | 211 | static 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 | ||
311 | struct pv_init_ops pv_init_ops = { | 304 | struct pv_init_ops pv_init_ops = { |
312 | .patch = native_patch, | 305 | .patch = native_patch, |
313 | .banner = default_banner, | ||
314 | }; | 306 | }; |
315 | 307 | ||
316 | struct pv_time_ops pv_time_ops = { | 308 | struct 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 | }; |