summaryrefslogtreecommitdiff
path: root/arch/x86/kernel/e820.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-07-11 21:22:18 +0200
committerIngo Molnar <mingo@elte.hu>2008-07-11 21:22:18 +0200
commit6c82a000a29b93541b5b7db597a083c069755cc9 (patch)
treeb9e49724f56b47e4b3d0bd6c6fa3be88dac3a9e6 /arch/x86/kernel/e820.c
parent5b4d2386c23e5de553fce002892c7691a989b350 (diff)
parent39415a440ecceb0a5bd3c23686f18f83bb8368c6 (diff)
Merge branch 'x86/generalize-visws' into x86/core
Diffstat (limited to 'arch/x86/kernel/e820.c')
-rw-r--r--arch/x86/kernel/e820.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 9f5002e0b35c..a5383ae2cbe3 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -1313,6 +1313,11 @@ void __init e820_reserve_resources(void)
}
}
+/*
+ * Non-standard memory setup can be specified via this quirk:
+ */
+char * (*arch_memory_setup_quirk)(void);
+
char *__init default_machine_specific_memory_setup(void)
{
char *who = "BIOS-e820";
@@ -1353,6 +1358,12 @@ char *__init default_machine_specific_memory_setup(void)
char *__init __attribute__((weak)) machine_specific_memory_setup(void)
{
+ if (arch_memory_setup_quirk) {
+ char *who = arch_memory_setup_quirk();
+
+ if (who)
+ return who;
+ }
return default_machine_specific_memory_setup();
}