diff options
author | Robin Getz <robin.getz@analog.com> | 2007-11-12 09:21:30 -0500 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-11-12 09:21:30 -0500 |
commit | f26fbc48f130962fce15f37d079968f0f272e0c2 (patch) | |
tree | f92bda683343140b2ccf51b40c5dad71154b1595 /arch/blackfin/kernel/traps.c | |
parent | 2ffbb8377c7a0713baf6644e285adc27a5654582 (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/traps.c')
-rw-r--r-- | arch/blackfin/kernel/traps.c | 10 |
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; |