diff options
Diffstat (limited to 'arch/powerpc/kernel/setup_64.c')
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 35 |
1 files changed, 2 insertions, 33 deletions
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 4f3cfe1b6a33..49f553bbb360 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -660,13 +660,11 @@ static void __init emergency_stack_init(void) | |||
660 | } | 660 | } |
661 | 661 | ||
662 | /* | 662 | /* |
663 | * Called into from start_kernel this initializes bootmem, which is used | 663 | * Called into from start_kernel this initializes memblock, which is used |
664 | * to manage page allocation until mem_init is called. | 664 | * to manage page allocation until mem_init is called. |
665 | */ | 665 | */ |
666 | void __init setup_arch(char **cmdline_p) | 666 | void __init setup_arch(char **cmdline_p) |
667 | { | 667 | { |
668 | ppc64_boot_msg(0x12, "Setup Arch"); | ||
669 | |||
670 | *cmdline_p = boot_command_line; | 668 | *cmdline_p = boot_command_line; |
671 | 669 | ||
672 | /* | 670 | /* |
@@ -691,9 +689,7 @@ void __init setup_arch(char **cmdline_p) | |||
691 | exc_lvl_early_init(); | 689 | exc_lvl_early_init(); |
692 | emergency_stack_init(); | 690 | emergency_stack_init(); |
693 | 691 | ||
694 | /* set up the bootmem stuff with available memory */ | 692 | initmem_init(); |
695 | do_init_bootmem(); | ||
696 | sparse_init(); | ||
697 | 693 | ||
698 | #ifdef CONFIG_DUMMY_CONSOLE | 694 | #ifdef CONFIG_DUMMY_CONSOLE |
699 | conswitchp = &dummy_con; | 695 | conswitchp = &dummy_con; |
@@ -711,33 +707,6 @@ void __init setup_arch(char **cmdline_p) | |||
711 | if ((unsigned long)_stext & 0xffff) | 707 | if ((unsigned long)_stext & 0xffff) |
712 | panic("Kernelbase not 64K-aligned (0x%lx)!\n", | 708 | panic("Kernelbase not 64K-aligned (0x%lx)!\n", |
713 | (unsigned long)_stext); | 709 | (unsigned long)_stext); |
714 | |||
715 | ppc64_boot_msg(0x15, "Setup Done"); | ||
716 | } | ||
717 | |||
718 | |||
719 | /* ToDo: do something useful if ppc_md is not yet setup. */ | ||
720 | #define PPC64_LINUX_FUNCTION 0x0f000000 | ||
721 | #define PPC64_IPL_MESSAGE 0xc0000000 | ||
722 | #define PPC64_TERM_MESSAGE 0xb0000000 | ||
723 | |||
724 | static void ppc64_do_msg(unsigned int src, const char *msg) | ||
725 | { | ||
726 | if (ppc_md.progress) { | ||
727 | char buf[128]; | ||
728 | |||
729 | sprintf(buf, "%08X\n", src); | ||
730 | ppc_md.progress(buf, 0); | ||
731 | snprintf(buf, 128, "%s", msg); | ||
732 | ppc_md.progress(buf, 0); | ||
733 | } | ||
734 | } | ||
735 | |||
736 | /* Print a boot progress message. */ | ||
737 | void ppc64_boot_msg(unsigned int src, const char *msg) | ||
738 | { | ||
739 | ppc64_do_msg(PPC64_LINUX_FUNCTION|PPC64_IPL_MESSAGE|src, msg); | ||
740 | printk("[boot]%04x %s\n", src, msg); | ||
741 | } | 710 | } |
742 | 711 | ||
743 | #ifdef CONFIG_SMP | 712 | #ifdef CONFIG_SMP |