aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel
diff options
context:
space:
mode:
authorRobin Getz <robin.getz@analog.com>2007-11-12 09:21:30 -0500
committerBryan Wu <bryan.wu@analog.com>2007-11-12 09:21:30 -0500
commitf26fbc48f130962fce15f37d079968f0f272e0c2 (patch)
treef92bda683343140b2ccf51b40c5dad71154b1595 /arch/blackfin/kernel
parent2ffbb8377c7a0713baf6644e285adc27a5654582 (diff)
Blackfin arch: ensure we work around ANOMALY_05000261 for null pointers
We currently do not. Also make it easier to handle cplb violations - in traps.c Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r--arch/blackfin/kernel/traps.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index cfa05436c972..aaddb724a5fb 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -311,11 +311,10 @@ asmlinkage void trap_c(struct pt_regs *fp)
311 printk(KERN_NOTICE EXC_0x22); 311 printk(KERN_NOTICE EXC_0x22);
312 CHK_DEBUGGER_TRAP(); 312 CHK_DEBUGGER_TRAP();
313 break; 313 break;
314 /* 0x23 - Data CPLB Protection Violation, 314 /* 0x23 - Data CPLB protection violation, handled here */
315 normal case is handled in _cplb_hdr */
316 case VEC_CPLB_VL: 315 case VEC_CPLB_VL:
317 info.si_code = ILL_CPLB_VI; 316 info.si_code = ILL_CPLB_VI;
318 sig = SIGILL; 317 sig = SIGBUS;
319 printk(KERN_NOTICE EXC_0x23); 318 printk(KERN_NOTICE EXC_0x23);
320 CHK_DEBUGGER_TRAP(); 319 CHK_DEBUGGER_TRAP();
321 break; 320 break;
@@ -382,11 +381,10 @@ asmlinkage void trap_c(struct pt_regs *fp)
382 printk(KERN_NOTICE EXC_0x2A); 381 printk(KERN_NOTICE EXC_0x2A);
383 CHK_DEBUGGER_TRAP(); 382 CHK_DEBUGGER_TRAP();
384 break; 383 break;
385 /* 0x2B - Instruction CPLB protection Violation, 384 /* 0x2B - Instruction CPLB protection violation, handled here */
386 handled in _cplb_hdr */
387 case VEC_CPLB_I_VL: 385 case VEC_CPLB_I_VL:
388 info.si_code = ILL_CPLB_VI; 386 info.si_code = ILL_CPLB_VI;
389 sig = SIGILL; 387 sig = SIGBUS;
390 printk(KERN_NOTICE EXC_0x2B); 388 printk(KERN_NOTICE EXC_0x2B);
391 CHK_DEBUGGER_TRAP(); 389 CHK_DEBUGGER_TRAP();
392 break; 390 break;