]>
Commit | Line | Data |
---|---|---|
1 | Index: arch/blackfin/kernel/traps.c | |
2 | =================================================================== | |
3 | --- arch/blackfin/kernel/traps.c (revision 3345) | |
4 | +++ arch/blackfin/kernel/traps.c (working copy) | |
5 | @@ -186,15 +186,14 @@ asmlinkage void trap_c(struct pt_regs *f | |
6 | #else | |
7 | /* 0x02 - User Defined, Caught by default */ | |
8 | #endif | |
9 | - /* 0x03 - Atomic test and set */ | |
10 | + /* 0x03 - User Defined, userspace stack overflow */ | |
11 | case VEC_EXCPT03: | |
12 | info.si_code = SEGV_STACKFLOW; | |
13 | sig = SIGSEGV; | |
14 | printk(KERN_EMERG EXC_0x03); | |
15 | CHK_DEBUGGER_TRAP(); | |
16 | break; | |
17 | - /* 0x04 - spinlock - handled by _ex_spinlock, | |
18 | - getting here is an error */ | |
19 | + /* 0x04 - User Defined, Caught by default */ | |
20 | /* 0x05 - User Defined, Caught by default */ | |
21 | /* 0x06 - User Defined, Caught by default */ | |
22 | /* 0x07 - User Defined, Caught by default */ | |
23 | Index: arch/blackfin/mach-common/entry.S | |
24 | =================================================================== | |
25 | --- arch/blackfin/mach-common/entry.S (revision 3345) | |
26 | +++ arch/blackfin/mach-common/entry.S (working copy) | |
27 | @@ -97,17 +97,6 @@ ENTRY(_ex_icplb) | |
28 | rtx; | |
29 | ENDPROC(_ex_icplb) | |
30 | ||
31 | -ENTRY(_ex_spinlock) | |
32 | - /* Transform this into a syscall - twiddle the syscall vector. */ | |
33 | - p5.l = lo(EVT15); | |
34 | - p5.h = hi(EVT15); | |
35 | - r7.l = _spinlock_bh; | |
36 | - r7.h = _spinlock_bh; | |
37 | - [p5] = r7; | |
38 | - csync; | |
39 | - /* Fall through. */ | |
40 | -ENDPROC(_ex_spinlock) | |
41 | - | |
42 | ENTRY(_ex_syscall) | |
43 | DEBUG_START_HWTRACE(p5, r7) | |
44 | (R7:6,P5:4) = [sp++]; | |
45 | @@ -117,26 +106,6 @@ ENTRY(_ex_syscall) | |
46 | rtx | |
47 | ENDPROC(_ex_syscall) | |
48 | ||
49 | -ENTRY(_spinlock_bh) | |
50 | - SAVE_ALL_SYS | |
51 | - /* To end up here, vector 15 was changed - so we have to change it | |
52 | - * back. | |
53 | - */ | |
54 | - p0.l = lo(EVT15); | |
55 | - p0.h = hi(EVT15); | |
56 | - p1.l = _evt_system_call; | |
57 | - p1.h = _evt_system_call; | |
58 | - [p0] = p1; | |
59 | - csync; | |
60 | - r0 = [sp + PT_R0]; | |
61 | - sp += -12; | |
62 | - call _sys_bfin_spinlock; | |
63 | - sp += 12; | |
64 | - [SP + PT_R0] = R0; | |
65 | - RESTORE_ALL_SYS | |
66 | - rti; | |
67 | -ENDPROC(_spinlock_bh) | |
68 | - | |
69 | ENTRY(_ex_soft_bp) | |
70 | r7 = retx; | |
71 | r7 += -2; | |
72 | @@ -775,14 +744,14 @@ ENDPROC(_init_exception_buff) | |
73 | ALIGN | |
74 | _extable: | |
75 | /* entry for each EXCAUSE[5:0] | |
76 | - * This table bmust be in sync with the table in ./kernel/traps.c | |
77 | + * This table must be in sync with the table in ./kernel/traps.c | |
78 | * EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined | |
79 | */ | |
80 | .long _ex_syscall; /* 0x00 - User Defined - Linux Syscall */ | |
81 | .long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */ | |
82 | .long _ex_trap_c /* 0x02 - User Defined */ | |
83 | - .long _ex_trap_c /* 0x03 - User Defined - Atomic test and set service */ | |
84 | - .long _ex_spinlock /* 0x04 - User Defined */ | |
85 | + .long _ex_trap_c /* 0x03 - User Defined - userspace stack overflow */ | |
86 | + .long _ex_trap_c /* 0x04 - User Defined */ | |
87 | .long _ex_trap_c /* 0x05 - User Defined */ | |
88 | .long _ex_trap_c /* 0x06 - User Defined */ | |
89 | .long _ex_trap_c /* 0x07 - User Defined */ |