aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin')
-rw-r--r--arch/blackfin/include/asm/thread_info.h2
-rw-r--r--arch/blackfin/kernel/setup.c41
-rw-r--r--arch/blackfin/kernel/traps.c34
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",