diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2005-08-06 15:47:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-06 16:06:30 -0400 |
commit | 0d317fb72fe3cf0f611608cf3a3015bbe6cd2a66 (patch) | |
tree | 10d49c7f5dce5c7f1ec4ddd6572490827be874cf /arch/x86_64/kernel/setup.c | |
parent | 36cf446c2c4be6bae01517ea539dcebaf85c9fdf (diff) |
[PATCH] x86_64 bootmem: sparse_mem/kexec merge bug.
When the sparse mem changes and the kexec changes
were merged into setup.c they came in, in the wrong order.
This patch changes the order so we don't run sparse_init
which uses the bootmem allocator until we all of the
reserve_bootmem calls has been made.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/kernel/setup.c')
-rw-r--r-- | arch/x86_64/kernel/setup.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index 0aa526298e92..116a491e2961 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
@@ -645,15 +645,15 @@ void __init setup_arch(char **cmdline_p) | |||
645 | } | 645 | } |
646 | } | 646 | } |
647 | #endif | 647 | #endif |
648 | |||
649 | sparse_init(); | ||
650 | |||
651 | #ifdef CONFIG_KEXEC | 648 | #ifdef CONFIG_KEXEC |
652 | if (crashk_res.start != crashk_res.end) { | 649 | if (crashk_res.start != crashk_res.end) { |
653 | reserve_bootmem(crashk_res.start, | 650 | reserve_bootmem(crashk_res.start, |
654 | crashk_res.end - crashk_res.start + 1); | 651 | crashk_res.end - crashk_res.start + 1); |
655 | } | 652 | } |
656 | #endif | 653 | #endif |
654 | |||
655 | sparse_init(); | ||
656 | |||
657 | paging_init(); | 657 | paging_init(); |
658 | 658 | ||
659 | check_ioapic(); | 659 | check_ioapic(); |