aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/setup_64.c
diff options
context:
space:
mode:
authorYinghai Lu <yhlu.kernel@gmail.com>2008-06-01 16:17:38 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-03 07:26:27 -0400
commit2944e16b25e7fb8b5ee0dd9dc7197a0f9e523cfd (patch)
tree0114128fdb9d2f54188a1684758e0217eadae1e5 /arch/x86/kernel/setup_64.c
parente8c27ac9191ab9e6506ae5cbe70d87ac50f8e960 (diff)
x86: update mptable
make mptable to be consistent with acpi routing, so we could: 1. kexec kernel with acpi=off 2. work around BIOSes where acpi routing is working, but mptable is not right, so can use kernel/kexec to start other OSes that don't have good acpi support. command line: update_mptable Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/setup_64.c')
-rw-r--r--arch/x86/kernel/setup_64.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c
index 89e6cca5d693..978a0d637f3f 100644
--- a/arch/x86/kernel/setup_64.c
+++ b/arch/x86/kernel/setup_64.c
@@ -56,6 +56,7 @@
56#include <asm/desc.h> 56#include <asm/desc.h>
57#include <video/edid.h> 57#include <video/edid.h>
58#include <asm/e820.h> 58#include <asm/e820.h>
59#include <asm/mpspec.h>
59#include <asm/dma.h> 60#include <asm/dma.h>
60#include <asm/gart.h> 61#include <asm/gart.h>
61#include <asm/mpspec.h> 62#include <asm/mpspec.h>
@@ -381,6 +382,9 @@ void __init setup_arch(char **cmdline_p)
381 * we are rounding upwards: 382 * we are rounding upwards:
382 */ 383 */
383 end_pfn = e820_end_of_ram(); 384 end_pfn = e820_end_of_ram();
385
386 /* pre allocte 4k for mptable mpc */
387 early_reserve_e820_mpc_new();
384 /* update e820 for memory not covered by WB MTRRs */ 388 /* update e820 for memory not covered by WB MTRRs */
385 mtrr_bp_init(); 389 mtrr_bp_init();
386 if (mtrr_trim_uncached_memory(end_pfn)) { 390 if (mtrr_trim_uncached_memory(end_pfn)) {