提交 9401e618 编写于 作者: M Mike Frysinger 提交者: Bryan Wu

Blackfin arch: scrub dead code

we converted to using a system call for userspace spinlocks
rather than a dedicated exception long ago
Signed-off-by: NMike Frysinger <michael.frysinger@analog.com>
Signed-off-by: NBryan Wu <bryan.wu@analog.com>
上级 c9e27ece
...@@ -193,15 +193,14 @@ asmlinkage void trap_c(struct pt_regs *fp) ...@@ -193,15 +193,14 @@ asmlinkage void trap_c(struct pt_regs *fp)
#else #else
/* 0x02 - User Defined, Caught by default */ /* 0x02 - User Defined, Caught by default */
#endif #endif
/* 0x03 - Atomic test and set */ /* 0x03 - User Defined, userspace stack overflow */
case VEC_EXCPT03: case VEC_EXCPT03:
info.si_code = SEGV_STACKFLOW; info.si_code = SEGV_STACKFLOW;
sig = SIGSEGV; sig = SIGSEGV;
printk(KERN_EMERG EXC_0x03); printk(KERN_EMERG EXC_0x03);
CHK_DEBUGGER_TRAP(); CHK_DEBUGGER_TRAP();
break; break;
/* 0x04 - spinlock - handled by _ex_spinlock, /* 0x04 - User Defined, Caught by default */
getting here is an error */
/* 0x05 - User Defined, Caught by default */ /* 0x05 - User Defined, Caught by default */
/* 0x06 - User Defined, Caught by default */ /* 0x06 - User Defined, Caught by default */
/* 0x07 - User Defined, Caught by default */ /* 0x07 - User Defined, Caught by default */
......
...@@ -97,17 +97,6 @@ ENTRY(_ex_icplb) ...@@ -97,17 +97,6 @@ ENTRY(_ex_icplb)
rtx; rtx;
ENDPROC(_ex_icplb) ENDPROC(_ex_icplb)
ENTRY(_ex_spinlock)
/* Transform this into a syscall - twiddle the syscall vector. */
p5.l = lo(EVT15);
p5.h = hi(EVT15);
r7.l = _spinlock_bh;
r7.h = _spinlock_bh;
[p5] = r7;
csync;
/* Fall through. */
ENDPROC(_ex_spinlock)
ENTRY(_ex_syscall) ENTRY(_ex_syscall)
DEBUG_START_HWTRACE(p5, r7) DEBUG_START_HWTRACE(p5, r7)
(R7:6,P5:4) = [sp++]; (R7:6,P5:4) = [sp++];
...@@ -117,26 +106,6 @@ ENTRY(_ex_syscall) ...@@ -117,26 +106,6 @@ ENTRY(_ex_syscall)
rtx rtx
ENDPROC(_ex_syscall) ENDPROC(_ex_syscall)
ENTRY(_spinlock_bh)
SAVE_ALL_SYS
/* To end up here, vector 15 was changed - so we have to change it
* back.
*/
p0.l = lo(EVT15);
p0.h = hi(EVT15);
p1.l = _evt_system_call;
p1.h = _evt_system_call;
[p0] = p1;
csync;
r0 = [sp + PT_R0];
sp += -12;
call _sys_bfin_spinlock;
sp += 12;
[SP + PT_R0] = R0;
RESTORE_ALL_SYS
rti;
ENDPROC(_spinlock_bh)
ENTRY(_ex_soft_bp) ENTRY(_ex_soft_bp)
r7 = retx; r7 = retx;
r7 += -2; r7 += -2;
...@@ -775,14 +744,14 @@ ENDPROC(_init_exception_buff) ...@@ -775,14 +744,14 @@ ENDPROC(_init_exception_buff)
ALIGN ALIGN
_extable: _extable:
/* entry for each EXCAUSE[5:0] /* entry for each EXCAUSE[5:0]
* This table bmust be in sync with the table in ./kernel/traps.c * This table must be in sync with the table in ./kernel/traps.c
* EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined * EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined
*/ */
.long _ex_syscall; /* 0x00 - User Defined - Linux Syscall */ .long _ex_syscall; /* 0x00 - User Defined - Linux Syscall */
.long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */ .long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */
.long _ex_trap_c /* 0x02 - User Defined */ .long _ex_trap_c /* 0x02 - User Defined */
.long _ex_trap_c /* 0x03 - User Defined - Atomic test and set service */ .long _ex_trap_c /* 0x03 - User Defined - userspace stack overflow */
.long _ex_spinlock /* 0x04 - User Defined */ .long _ex_trap_c /* 0x04 - User Defined */
.long _ex_trap_c /* 0x05 - User Defined */ .long _ex_trap_c /* 0x05 - User Defined */
.long _ex_trap_c /* 0x06 - User Defined */ .long _ex_trap_c /* 0x06 - User Defined */
.long _ex_trap_c /* 0x07 - User Defined */ .long _ex_trap_c /* 0x07 - User Defined */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册