diff options
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/include/asm/thread_info.h | 2 | ||||
-rw-r--r-- | arch/blackfin/kernel/setup.c | 41 | ||||
-rw-r--r-- | arch/blackfin/kernel/traps.c | 34 |
3 files changed, 39 insertions, 38 deletions
diff --git a/arch/blackfin/include/asm/thread_info.h b/arch/blackfin/include/asm/thread_info.h index 2920087516f2..2bbfdd950afc 100644 --- a/arch/blackfin/include/asm/thread_info.h +++ b/arch/blackfin/include/asm/thread_info.h | |||
@@ -77,7 +77,7 @@ struct thread_info { | |||
77 | .exec_domain = &default_exec_domain, \ | 77 | .exec_domain = &default_exec_domain, \ |
78 | .flags = 0, \ | 78 | .flags = 0, \ |
79 | .cpu = 0, \ | 79 | .cpu = 0, \ |
80 | .preempt_count = 1, \ | 80 | .preempt_count = INIT_PREEMPT_COUNT, \ |
81 | .restart_block = { \ | 81 | .restart_block = { \ |
82 | .fn = do_no_restart_syscall, \ | 82 | .fn = do_no_restart_syscall, \ |
83 | }, \ | 83 | }, \ |
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index 298f023bcc09..6136c33e919f 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c | |||
@@ -408,13 +408,14 @@ static void __init print_memory_map(char *who) | |||
408 | bfin_memmap.map[i].addr + bfin_memmap.map[i].size); | 408 | bfin_memmap.map[i].addr + bfin_memmap.map[i].size); |
409 | switch (bfin_memmap.map[i].type) { | 409 | switch (bfin_memmap.map[i].type) { |
410 | case BFIN_MEMMAP_RAM: | 410 | case BFIN_MEMMAP_RAM: |
411 | printk("(usable)\n"); | 411 | printk(KERN_CONT "(usable)\n"); |
412 | break; | 412 | break; |
413 | case BFIN_MEMMAP_RESERVED: | 413 | case BFIN_MEMMAP_RESERVED: |
414 | printk("(reserved)\n"); | 414 | printk(KERN_CONT "(reserved)\n"); |
415 | break; | 415 | break; |
416 | default: printk("type %lu\n", bfin_memmap.map[i].type); | 416 | default: |
417 | break; | 417 | printk(KERN_CONT "type %lu\n", bfin_memmap.map[i].type); |
418 | break; | ||
418 | } | 419 | } |
419 | } | 420 | } |
420 | } | 421 | } |
@@ -614,19 +615,19 @@ static __init void memory_setup(void) | |||
614 | printk(KERN_INFO "Kernel Managed Memory: %ldMB\n", _ramend >> 20); | 615 | printk(KERN_INFO "Kernel Managed Memory: %ldMB\n", _ramend >> 20); |
615 | 616 | ||
616 | printk(KERN_INFO "Memory map:\n" | 617 | printk(KERN_INFO "Memory map:\n" |
617 | KERN_INFO " fixedcode = 0x%p-0x%p\n" | 618 | " fixedcode = 0x%p-0x%p\n" |
618 | KERN_INFO " text = 0x%p-0x%p\n" | 619 | " text = 0x%p-0x%p\n" |
619 | KERN_INFO " rodata = 0x%p-0x%p\n" | 620 | " rodata = 0x%p-0x%p\n" |
620 | KERN_INFO " bss = 0x%p-0x%p\n" | 621 | " bss = 0x%p-0x%p\n" |
621 | KERN_INFO " data = 0x%p-0x%p\n" | 622 | " data = 0x%p-0x%p\n" |
622 | KERN_INFO " stack = 0x%p-0x%p\n" | 623 | " stack = 0x%p-0x%p\n" |
623 | KERN_INFO " init = 0x%p-0x%p\n" | 624 | " init = 0x%p-0x%p\n" |
624 | KERN_INFO " available = 0x%p-0x%p\n" | 625 | " available = 0x%p-0x%p\n" |
625 | #ifdef CONFIG_MTD_UCLINUX | 626 | #ifdef CONFIG_MTD_UCLINUX |
626 | KERN_INFO " rootfs = 0x%p-0x%p\n" | 627 | " rootfs = 0x%p-0x%p\n" |
627 | #endif | 628 | #endif |
628 | #if DMA_UNCACHED_REGION > 0 | 629 | #if DMA_UNCACHED_REGION > 0 |
629 | KERN_INFO " DMA Zone = 0x%p-0x%p\n" | 630 | " DMA Zone = 0x%p-0x%p\n" |
630 | #endif | 631 | #endif |
631 | , (void *)FIXED_CODE_START, (void *)FIXED_CODE_END, | 632 | , (void *)FIXED_CODE_START, (void *)FIXED_CODE_END, |
632 | _stext, _etext, | 633 | _stext, _etext, |
@@ -859,13 +860,13 @@ void __init setup_arch(char **cmdline_p) | |||
859 | #endif | 860 | #endif |
860 | printk(KERN_INFO "Hardware Trace "); | 861 | printk(KERN_INFO "Hardware Trace "); |
861 | if (bfin_read_TBUFCTL() & 0x1) | 862 | if (bfin_read_TBUFCTL() & 0x1) |
862 | printk("Active "); | 863 | printk(KERN_CONT "Active "); |
863 | else | 864 | else |
864 | printk("Off "); | 865 | printk(KERN_CONT "Off "); |
865 | if (bfin_read_TBUFCTL() & 0x2) | 866 | if (bfin_read_TBUFCTL() & 0x2) |
866 | printk("and Enabled\n"); | 867 | printk(KERN_CONT "and Enabled\n"); |
867 | else | 868 | else |
868 | printk("and Disabled\n"); | 869 | printk(KERN_CONT "and Disabled\n"); |
869 | 870 | ||
870 | #if defined(CONFIG_CHR_DEV_FLASH) || defined(CONFIG_BLK_DEV_FLASH) | 871 | #if defined(CONFIG_CHR_DEV_FLASH) || defined(CONFIG_BLK_DEV_FLASH) |
871 | /* we need to initialize the Flashrom device here since we might | 872 | /* we need to initialize the Flashrom device here since we might |
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 8eeb457ce5d5..8a1caf2bb5b9 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -212,7 +212,7 @@ asmlinkage void double_fault_c(struct pt_regs *fp) | |||
212 | console_verbose(); | 212 | console_verbose(); |
213 | oops_in_progress = 1; | 213 | oops_in_progress = 1; |
214 | #ifdef CONFIG_DEBUG_VERBOSE | 214 | #ifdef CONFIG_DEBUG_VERBOSE |
215 | printk(KERN_EMERG "\n" KERN_EMERG "Double Fault\n"); | 215 | printk(KERN_EMERG "Double Fault\n"); |
216 | #ifdef CONFIG_DEBUG_DOUBLEFAULT_PRINT | 216 | #ifdef CONFIG_DEBUG_DOUBLEFAULT_PRINT |
217 | if (((long)fp->seqstat & SEQSTAT_EXCAUSE) == VEC_UNCOV) { | 217 | if (((long)fp->seqstat & SEQSTAT_EXCAUSE) == VEC_UNCOV) { |
218 | unsigned int cpu = smp_processor_id(); | 218 | unsigned int cpu = smp_processor_id(); |
@@ -583,15 +583,14 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
583 | #ifndef CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE | 583 | #ifndef CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE |
584 | if (trapnr == VEC_CPLB_I_M || trapnr == VEC_CPLB_M) | 584 | if (trapnr == VEC_CPLB_I_M || trapnr == VEC_CPLB_M) |
585 | verbose_printk(KERN_NOTICE "No trace since you do not have " | 585 | verbose_printk(KERN_NOTICE "No trace since you do not have " |
586 | "CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE enabled\n" | 586 | "CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE enabled\n\n"); |
587 | KERN_NOTICE "\n"); | ||
588 | else | 587 | else |
589 | #endif | 588 | #endif |
590 | dump_bfin_trace_buffer(); | 589 | dump_bfin_trace_buffer(); |
591 | 590 | ||
592 | if (oops_in_progress) { | 591 | if (oops_in_progress) { |
593 | /* Dump the current kernel stack */ | 592 | /* Dump the current kernel stack */ |
594 | verbose_printk(KERN_NOTICE "\n" KERN_NOTICE "Kernel Stack\n"); | 593 | verbose_printk(KERN_NOTICE "Kernel Stack\n"); |
595 | show_stack(current, NULL); | 594 | show_stack(current, NULL); |
596 | print_modules(); | 595 | print_modules(); |
597 | #ifndef CONFIG_ACCESS_CHECK | 596 | #ifndef CONFIG_ACCESS_CHECK |
@@ -906,7 +905,7 @@ void show_stack(struct task_struct *task, unsigned long *stack) | |||
906 | 905 | ||
907 | ret_addr = 0; | 906 | ret_addr = 0; |
908 | if (!j && i % 8 == 0) | 907 | if (!j && i % 8 == 0) |
909 | printk("\n" KERN_NOTICE "%p:",addr); | 908 | printk(KERN_NOTICE "%p:",addr); |
910 | 909 | ||
911 | /* if it is an odd address, or zero, just skip it */ | 910 | /* if it is an odd address, or zero, just skip it */ |
912 | if (*addr & 0x1 || !*addr) | 911 | if (*addr & 0x1 || !*addr) |
@@ -996,9 +995,9 @@ void dump_bfin_process(struct pt_regs *fp) | |||
996 | 995 | ||
997 | printk(KERN_NOTICE "CPU = %d\n", current_thread_info()->cpu); | 996 | printk(KERN_NOTICE "CPU = %d\n", current_thread_info()->cpu); |
998 | if (!((unsigned long)current->mm & 0x3) && (unsigned long)current->mm >= FIXED_CODE_START) | 997 | if (!((unsigned long)current->mm & 0x3) && (unsigned long)current->mm >= FIXED_CODE_START) |
999 | verbose_printk(KERN_NOTICE "TEXT = 0x%p-0x%p DATA = 0x%p-0x%p\n" | 998 | verbose_printk(KERN_NOTICE |
1000 | KERN_NOTICE " BSS = 0x%p-0x%p USER-STACK = 0x%p\n" | 999 | "TEXT = 0x%p-0x%p DATA = 0x%p-0x%p\n" |
1001 | KERN_NOTICE "\n", | 1000 | " BSS = 0x%p-0x%p USER-STACK = 0x%p\n\n", |
1002 | (void *)current->mm->start_code, | 1001 | (void *)current->mm->start_code, |
1003 | (void *)current->mm->end_code, | 1002 | (void *)current->mm->end_code, |
1004 | (void *)current->mm->start_data, | 1003 | (void *)current->mm->start_data, |
@@ -1009,8 +1008,8 @@ void dump_bfin_process(struct pt_regs *fp) | |||
1009 | else | 1008 | else |
1010 | verbose_printk(KERN_NOTICE "invalid mm\n"); | 1009 | verbose_printk(KERN_NOTICE "invalid mm\n"); |
1011 | } else | 1010 | } else |
1012 | verbose_printk(KERN_NOTICE "\n" KERN_NOTICE | 1011 | verbose_printk(KERN_NOTICE |
1013 | "No Valid process in current context\n"); | 1012 | "No Valid process in current context\n"); |
1014 | #endif | 1013 | #endif |
1015 | } | 1014 | } |
1016 | 1015 | ||
@@ -1028,7 +1027,7 @@ void dump_bfin_mem(struct pt_regs *fp) | |||
1028 | addr < (unsigned short *)((unsigned long)erraddr & ~0xF) + 0x10; | 1027 | addr < (unsigned short *)((unsigned long)erraddr & ~0xF) + 0x10; |
1029 | addr++) { | 1028 | addr++) { |
1030 | if (!((unsigned long)addr & 0xF)) | 1029 | if (!((unsigned long)addr & 0xF)) |
1031 | verbose_printk("\n" KERN_NOTICE "0x%p: ", addr); | 1030 | verbose_printk(KERN_NOTICE "0x%p: ", addr); |
1032 | 1031 | ||
1033 | if (!get_instruction(&val, addr)) { | 1032 | if (!get_instruction(&val, addr)) { |
1034 | val = 0; | 1033 | val = 0; |
@@ -1056,9 +1055,9 @@ void dump_bfin_mem(struct pt_regs *fp) | |||
1056 | oops_in_progress)){ | 1055 | oops_in_progress)){ |
1057 | verbose_printk(KERN_NOTICE "Looks like this was a deferred error - sorry\n"); | 1056 | verbose_printk(KERN_NOTICE "Looks like this was a deferred error - sorry\n"); |
1058 | #ifndef CONFIG_DEBUG_HWERR | 1057 | #ifndef CONFIG_DEBUG_HWERR |
1059 | verbose_printk(KERN_NOTICE "The remaining message may be meaningless\n" | 1058 | verbose_printk(KERN_NOTICE |
1060 | KERN_NOTICE "You should enable CONFIG_DEBUG_HWERR to get a" | 1059 | "The remaining message may be meaningless\n" |
1061 | " better idea where it came from\n"); | 1060 | "You should enable CONFIG_DEBUG_HWERR to get a better idea where it came from\n"); |
1062 | #else | 1061 | #else |
1063 | /* If we are handling only one peripheral interrupt | 1062 | /* If we are handling only one peripheral interrupt |
1064 | * and current mm and pid are valid, and the last error | 1063 | * and current mm and pid are valid, and the last error |
@@ -1114,9 +1113,10 @@ void show_regs(struct pt_regs *fp) | |||
1114 | 1113 | ||
1115 | verbose_printk(KERN_NOTICE "%s", linux_banner); | 1114 | verbose_printk(KERN_NOTICE "%s", linux_banner); |
1116 | 1115 | ||
1117 | verbose_printk(KERN_NOTICE "\n" KERN_NOTICE "SEQUENCER STATUS:\t\t%s\n", print_tainted()); | 1116 | verbose_printk(KERN_NOTICE "\nSEQUENCER STATUS:\t\t%s\n", |
1117 | print_tainted()); | ||
1118 | verbose_printk(KERN_NOTICE " SEQSTAT: %08lx IPEND: %04lx SYSCFG: %04lx\n", | 1118 | verbose_printk(KERN_NOTICE " SEQSTAT: %08lx IPEND: %04lx SYSCFG: %04lx\n", |
1119 | (long)fp->seqstat, fp->ipend, fp->syscfg); | 1119 | (long)fp->seqstat, fp->ipend, fp->syscfg); |
1120 | if ((fp->seqstat & SEQSTAT_EXCAUSE) == VEC_HWERR) { | 1120 | if ((fp->seqstat & SEQSTAT_EXCAUSE) == VEC_HWERR) { |
1121 | verbose_printk(KERN_NOTICE " HWERRCAUSE: 0x%lx\n", | 1121 | verbose_printk(KERN_NOTICE " HWERRCAUSE: 0x%lx\n", |
1122 | (fp->seqstat & SEQSTAT_HWERRCAUSE) >> 14); | 1122 | (fp->seqstat & SEQSTAT_HWERRCAUSE) >> 14); |
@@ -1184,7 +1184,7 @@ unlock: | |||
1184 | verbose_printk(KERN_NOTICE "ICPLB_FAULT_ADDR: %s\n", buf); | 1184 | verbose_printk(KERN_NOTICE "ICPLB_FAULT_ADDR: %s\n", buf); |
1185 | } | 1185 | } |
1186 | 1186 | ||
1187 | verbose_printk(KERN_NOTICE "\n" KERN_NOTICE "PROCESSOR STATE:\n"); | 1187 | verbose_printk(KERN_NOTICE "PROCESSOR STATE:\n"); |
1188 | verbose_printk(KERN_NOTICE " R0 : %08lx R1 : %08lx R2 : %08lx R3 : %08lx\n", | 1188 | verbose_printk(KERN_NOTICE " R0 : %08lx R1 : %08lx R2 : %08lx R3 : %08lx\n", |
1189 | fp->r0, fp->r1, fp->r2, fp->r3); | 1189 | fp->r0, fp->r1, fp->r2, fp->r3); |
1190 | verbose_printk(KERN_NOTICE " R4 : %08lx R5 : %08lx R6 : %08lx R7 : %08lx\n", | 1190 | verbose_printk(KERN_NOTICE " R4 : %08lx R5 : %08lx R6 : %08lx R7 : %08lx\n", |