diff options
| -rw-r--r-- | arch/blackfin/kernel/setup.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index 8d7892820130..298f023bcc09 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c | |||
| @@ -477,9 +477,11 @@ static __init void parse_cmdline_early(char *cmdline_p) | |||
| 477 | } else if (!memcmp(to, "clkin_hz=", 9)) { | 477 | } else if (!memcmp(to, "clkin_hz=", 9)) { |
| 478 | to += 9; | 478 | to += 9; |
| 479 | early_init_clkin_hz(to); | 479 | early_init_clkin_hz(to); |
| 480 | #ifdef CONFIG_EARLY_PRINTK | ||
| 480 | } else if (!memcmp(to, "earlyprintk=", 12)) { | 481 | } else if (!memcmp(to, "earlyprintk=", 12)) { |
| 481 | to += 12; | 482 | to += 12; |
| 482 | setup_early_printk(to); | 483 | setup_early_printk(to); |
| 484 | #endif | ||
| 483 | } else if (!memcmp(to, "memmap=", 7)) { | 485 | } else if (!memcmp(to, "memmap=", 7)) { |
| 484 | to += 7; | 486 | to += 7; |
| 485 | parse_memmap(to); | 487 | parse_memmap(to); |
| @@ -798,6 +800,11 @@ void __init setup_arch(char **cmdline_p) | |||
| 798 | { | 800 | { |
| 799 | unsigned long sclk, cclk; | 801 | unsigned long sclk, cclk; |
| 800 | 802 | ||
| 803 | /* Check to make sure we are running on the right processor */ | ||
| 804 | if (unlikely(CPUID != bfin_cpuid())) | ||
| 805 | printk(KERN_ERR "ERROR: Not running on ADSP-%s: unknown CPUID 0x%04x Rev 0.%d\n", | ||
| 806 | CPU, bfin_cpuid(), bfin_revid()); | ||
| 807 | |||
| 801 | #ifdef CONFIG_DUMMY_CONSOLE | 808 | #ifdef CONFIG_DUMMY_CONSOLE |
| 802 | conswitchp = &dummy_con; | 809 | conswitchp = &dummy_con; |
| 803 | #endif | 810 | #endif |
| @@ -812,14 +819,17 @@ void __init setup_arch(char **cmdline_p) | |||
| 812 | memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE); | 819 | memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE); |
| 813 | boot_command_line[COMMAND_LINE_SIZE - 1] = '\0'; | 820 | boot_command_line[COMMAND_LINE_SIZE - 1] = '\0'; |
| 814 | 821 | ||
| 815 | /* setup memory defaults from the user config */ | ||
| 816 | physical_mem_end = 0; | ||
| 817 | _ramend = get_mem_size() * 1024 * 1024; | ||
| 818 | |||
| 819 | memset(&bfin_memmap, 0, sizeof(bfin_memmap)); | 822 | memset(&bfin_memmap, 0, sizeof(bfin_memmap)); |
| 820 | 823 | ||
| 824 | /* If the user does not specify things on the command line, use | ||
| 825 | * what the bootloader set things up as | ||
| 826 | */ | ||
| 827 | physical_mem_end = 0; | ||
| 821 | parse_cmdline_early(&command_line[0]); | 828 | parse_cmdline_early(&command_line[0]); |
| 822 | 829 | ||
| 830 | if (_ramend == 0) | ||
| 831 | _ramend = get_mem_size() * 1024 * 1024; | ||
| 832 | |||
| 823 | if (physical_mem_end == 0) | 833 | if (physical_mem_end == 0) |
| 824 | physical_mem_end = _ramend; | 834 | physical_mem_end = _ramend; |
| 825 | 835 | ||
| @@ -910,10 +920,7 @@ void __init setup_arch(char **cmdline_p) | |||
| 910 | else | 920 | else |
| 911 | printk(KERN_INFO "Compiled for ADSP-%s Rev 0.%d\n", CPU, bfin_compiled_revid()); | 921 | printk(KERN_INFO "Compiled for ADSP-%s Rev 0.%d\n", CPU, bfin_compiled_revid()); |
| 912 | 922 | ||
| 913 | if (unlikely(CPUID != bfin_cpuid())) | 923 | if (likely(CPUID == bfin_cpuid())) { |
| 914 | printk(KERN_ERR "ERROR: Not running on ADSP-%s: unknown CPUID 0x%04x Rev 0.%d\n", | ||
| 915 | CPU, bfin_cpuid(), bfin_revid()); | ||
| 916 | else { | ||
| 917 | if (bfin_revid() != bfin_compiled_revid()) { | 924 | if (bfin_revid() != bfin_compiled_revid()) { |
| 918 | if (bfin_compiled_revid() == -1) | 925 | if (bfin_compiled_revid() == -1) |
| 919 | printk(KERN_ERR "Warning: Compiled for Rev none, but running on Rev %d\n", | 926 | printk(KERN_ERR "Warning: Compiled for Rev none, but running on Rev %d\n", |
