diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-10 17:30:40 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-10 18:55:31 +0200 |
commit | 3b33553badcde952adcf3b3ba5faae38d7d85071 (patch) | |
tree | e6f20de95b23a54689776e772ad25561ae109b69 /arch/x86/kernel/e820.c | |
parent | 520b9617ab4aea764ddfc5d58cae21c16b3318e1 (diff) | |
download | blackbird-op-linux-3b33553badcde952adcf3b3ba5faae38d7d85071.tar.gz blackbird-op-linux-3b33553badcde952adcf3b3ba5faae38d7d85071.zip |
x86: add early quirk support
Add early quirks support.
In preparation of enabling the generic architecture to boot on a VISWS.
This will allow us to remove the VISWS subarch and all its complications.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/e820.c')
-rw-r--r-- | arch/x86/kernel/e820.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index 9836a079cfd9..269d367d2ace 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c @@ -1297,6 +1297,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"; @@ -1337,6 +1342,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(); } |