summaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorThomas Gleixner2009-08-20 10:19:54 +0200
committerThomas Gleixner2009-08-27 17:12:52 +0200
commit6b18ae3e2ff62daa9f181401759161dd8de0aadf (patch)
tree3e1c61c26c29a1a81d5f54917a92c37334d3c607 /arch/x86/include
parentx86: Add reserve_ebda_region to x86_init_ops (diff)
downloadkernel-qcow2-linux-6b18ae3e2ff62daa9f181401759161dd8de0aadf.tar.gz
kernel-qcow2-linux-6b18ae3e2ff62daa9f181401759161dd8de0aadf.tar.xz
kernel-qcow2-linux-6b18ae3e2ff62daa9f181401759161dd8de0aadf.zip
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);
extern void e820_reserve_resources_late(void);
extern void setup_memory_map(void);
extern char *default_machine_specific_memory_setup(void);
-extern char *machine_specific_memory_setup(void);
-extern char *memory_setup(void);
#endif /* __KERNEL__ */
#endif /* __ASSEMBLY__ */
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 {
/* Basic arch-specific setup */
void (*arch_setup)(void);
- char *(*memory_setup)(void);
void (*post_allocator_init)(void);
/* 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 {
int (*arch_pre_intr_init)(void);
int (*arch_intr_init)(void);
int (*arch_trap_init)(void);
- char * (*arch_memory_setup)(void);
int (*mach_get_smp_config)(unsigned int early);
int (*mach_find_smp_config)(unsigned int reserve);
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 @@
* @reserve_resources: reserve the standard resources for the
* platform
* @reserve_ebda_region: reserve the extended bios data area
+ * @memory_setup: platform specific memory setup
*
*/
struct x86_init_resources {
void (*probe_roms)(void);
void (*reserve_resources)(void);
void (*reserve_ebda_region)(void);
+ char *(*memory_setup)(void);
};
/**