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: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
This commit is contained in:
@@ -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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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 */
|
||||||
|
Reference in New Issue
Block a user