aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin')
-rw-r--r--arch/blackfin/kernel/traps.c5
-rw-r--r--arch/blackfin/mach-common/entry.S37
2 files changed, 5 insertions, 37 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index 114277bb46f8..3909f5b35536 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -193,15 +193,14 @@ asmlinkage void trap_c(struct pt_regs *fp)
193#else 193#else
194 /* 0x02 - User Defined, Caught by default */ 194 /* 0x02 - User Defined, Caught by default */
195#endif 195#endif
196 /* 0x03 - Atomic test and set */ 196 /* 0x03 - User Defined, userspace stack overflow */
197 case VEC_EXCPT03: 197 case VEC_EXCPT03:
198 info.si_code = SEGV_STACKFLOW; 198 info.si_code = SEGV_STACKFLOW;
199 sig = SIGSEGV; 199 sig = SIGSEGV;
200 printk(KERN_EMERG EXC_0x03); 200 printk(KERN_EMERG EXC_0x03);
201 CHK_DEBUGGER_TRAP(); 201 CHK_DEBUGGER_TRAP();
202 break; 202 break;
203 /* 0x04 - spinlock - handled by _ex_spinlock, 203 /* 0x04 - User Defined, Caught by default */
204 getting here is an error */
205 /* 0x05 - User Defined, Caught by default */ 204 /* 0x05 - User Defined, Caught by default */
206 /* 0x06 - User Defined, Caught by default */ 205 /* 0x06 - User Defined, Caught by default */
207 /* 0x07 - User Defined, Caught by default */ 206 /* 0x07 - User Defined, Caught by default */
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index fa4e6336317d..d61bba98fb54 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -97,17 +97,6 @@ ENTRY(_ex_icplb)
97 rtx; 97 rtx;
98ENDPROC(_ex_icplb) 98ENDPROC(_ex_icplb)
99 99
100ENTRY(_ex_spinlock)
101 /* Transform this into a syscall - twiddle the syscall vector. */
102 p5.l = lo(EVT15);
103 p5.h = hi(EVT15);
104 r7.l = _spinlock_bh;
105 r7.h = _spinlock_bh;
106 [p5] = r7;
107 csync;
108 /* Fall through. */
109ENDPROC(_ex_spinlock)
110
111ENTRY(_ex_syscall) 100ENTRY(_ex_syscall)
112 DEBUG_START_HWTRACE(p5, r7) 101 DEBUG_START_HWTRACE(p5, r7)
113 (R7:6,P5:4) = [sp++]; 102 (R7:6,P5:4) = [sp++];
@@ -117,26 +106,6 @@ ENTRY(_ex_syscall)
117 rtx 106 rtx
118ENDPROC(_ex_syscall) 107ENDPROC(_ex_syscall)
119 108
120ENTRY(_spinlock_bh)
121 SAVE_ALL_SYS
122 /* To end up here, vector 15 was changed - so we have to change it
123 * back.
124 */
125 p0.l = lo(EVT15);
126 p0.h = hi(EVT15);
127 p1.l = _evt_system_call;
128 p1.h = _evt_system_call;
129 [p0] = p1;
130 csync;
131 r0 = [sp + PT_R0];
132 sp += -12;
133 call _sys_bfin_spinlock;
134 sp += 12;
135 [SP + PT_R0] = R0;
136 RESTORE_ALL_SYS
137 rti;
138ENDPROC(_spinlock_bh)
139
140ENTRY(_ex_soft_bp) 109ENTRY(_ex_soft_bp)
141 r7 = retx; 110 r7 = retx;
142 r7 += -2; 111 r7 += -2;
@@ -775,14 +744,14 @@ ENDPROC(_init_exception_buff)
775ALIGN 744ALIGN
776_extable: 745_extable:
777 /* entry for each EXCAUSE[5:0] 746 /* entry for each EXCAUSE[5:0]
778 * This table bmust be in sync with the table in ./kernel/traps.c 747 * This table must be in sync with the table in ./kernel/traps.c
779 * EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined 748 * EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined
780 */ 749 */
781 .long _ex_syscall; /* 0x00 - User Defined - Linux Syscall */ 750 .long _ex_syscall; /* 0x00 - User Defined - Linux Syscall */
782 .long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */ 751 .long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */
783 .long _ex_trap_c /* 0x02 - User Defined */ 752 .long _ex_trap_c /* 0x02 - User Defined */
784 .long _ex_trap_c /* 0x03 - User Defined - Atomic test and set service */ 753 .long _ex_trap_c /* 0x03 - User Defined - userspace stack overflow */
785 .long _ex_spinlock /* 0x04 - User Defined */ 754 .long _ex_trap_c /* 0x04 - User Defined */
786 .long _ex_trap_c /* 0x05 - User Defined */ 755 .long _ex_trap_c /* 0x05 - User Defined */
787 .long _ex_trap_c /* 0x06 - User Defined */ 756 .long _ex_trap_c /* 0x06 - User Defined */
788 .long _ex_trap_c /* 0x07 - User Defined */ 757 .long _ex_trap_c /* 0x07 - User Defined */