aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-20 04:19:54 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-08-27 11:12:52 -0400
commit6b18ae3e2ff62daa9f181401759161dd8de0aadf (patch)
tree3e1c61c26c29a1a81d5f54917a92c37334d3c607 /arch/x86/include
parent816c25e7d4fb6fd40022a376e8b7f45b1edf5a89 (diff)
x86: Move memory_setup to x86_init_ops
memory_setup is overridden by x86_quirks and by paravirts with weak functions and quirks. Unify the whole mess and make it an unconditional x86_init_ops function which defaults to the standard function and can be overridden by the early platform code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/e820.h2
-rw-r--r--arch/x86/include/asm/paravirt_types.h1
-rw-r--r--arch/x86/include/asm/setup.h1
-rw-r--r--arch/x86/include/asm/x86_init.h2
4 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
index 7ecba4d85089..40b4e614fe71 100644
--- a/arch/x86/include/asm/e820.h
+++ b/arch/x86/include/asm/e820.h
@@ -126,8 +126,6 @@ extern void e820_reserve_resources(void);
126extern void e820_reserve_resources_late(void); 126extern void e820_reserve_resources_late(void);
127extern void setup_memory_map(void); 127extern void setup_memory_map(void);
128extern char *default_machine_specific_memory_setup(void); 128extern char *default_machine_specific_memory_setup(void);
129extern char *machine_specific_memory_setup(void);
130extern char *memory_setup(void);
131#endif /* __KERNEL__ */ 129#endif /* __KERNEL__ */
132#endif /* __ASSEMBLY__ */ 130#endif /* __ASSEMBLY__ */
133 131
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 2b3371bae295..6d668968b6b8 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -81,7 +81,6 @@ struct pv_init_ops {
81 81
82 /* Basic arch-specific setup */ 82 /* Basic arch-specific setup */
83 void (*arch_setup)(void); 83 void (*arch_setup)(void);
84 char *(*memory_setup)(void);
85 void (*post_allocator_init)(void); 84 void (*post_allocator_init)(void);
86 85
87 /* Print a banner to identify the environment */ 86 /* Print a banner to identify the environment */
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index 19769ac60616..9cba9d6ca885 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -22,7 +22,6 @@ struct x86_quirks {
22 int (*arch_pre_intr_init)(void); 22 int (*arch_pre_intr_init)(void);
23 int (*arch_intr_init)(void); 23 int (*arch_intr_init)(void);
24 int (*arch_trap_init)(void); 24 int (*arch_trap_init)(void);
25 char * (*arch_memory_setup)(void);
26 int (*mach_get_smp_config)(unsigned int early); 25 int (*mach_get_smp_config)(unsigned int early);
27 int (*mach_find_smp_config)(unsigned int reserve); 26 int (*mach_find_smp_config)(unsigned int reserve);
28 27
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 8a971cb3dd3f..6c084f2a6c3f 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -7,12 +7,14 @@
7 * @reserve_resources: reserve the standard resources for the 7 * @reserve_resources: reserve the standard resources for the
8 * platform 8 * platform
9 * @reserve_ebda_region: reserve the extended bios data area 9 * @reserve_ebda_region: reserve the extended bios data area
10 * @memory_setup: platform specific memory setup
10 * 11 *
11 */ 12 */
12struct x86_init_resources { 13struct x86_init_resources {
13 void (*probe_roms)(void); 14 void (*probe_roms)(void);
14 void (*reserve_resources)(void); 15 void (*reserve_resources)(void);
15 void (*reserve_ebda_region)(void); 16 void (*reserve_ebda_region)(void);
17 char *(*memory_setup)(void);
16}; 18};
17 19
18/** 20/**