Commit c7d5a0050773e98d1094eaa9f2a1a793fafac300
1 parent
6c5ae5b278
Exists in
master
and in
7 other branches
sparc64: Kill off old sys_perfctr system call and state.
People should be using the perf events interfaces, and the way these system call facilities used the %pcr conflicts with the usage of the NMI watchdog and perf events. Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 12 changed files with 18 additions and 247 deletions Side-by-side Diff
- arch/sparc/include/asm/perfctr.h
- arch/sparc/include/asm/system_64.h
- arch/sparc/include/asm/thread_info_64.h
- arch/sparc/kernel/entry.h
- arch/sparc/kernel/process_64.c
- arch/sparc/kernel/rtrap_64.S
- arch/sparc/kernel/sys32.S
- arch/sparc/kernel/sys_sparc_64.c
- arch/sparc/kernel/syscalls.S
- arch/sparc/kernel/systbls.h
- arch/sparc/kernel/systbls_64.S
- arch/sparc/kernel/traps_64.c
arch/sparc/include/asm/perfctr.h
... | ... | @@ -10,8 +10,8 @@ |
10 | 10 | * from enumeration below. The meaning of further arguments |
11 | 11 | * are determined by the operation code. |
12 | 12 | * |
13 | - * int sys_perfctr(int opcode, unsigned long arg0, | |
14 | - * unsigned long arg1, unsigned long arg2) | |
13 | + * NOTE: This system call is no longer provided, use the perf_events | |
14 | + * infrastructure. | |
15 | 15 | * |
16 | 16 | * Pointers which are passed by the user are pointers to 64-bit |
17 | 17 | * integers. |
arch/sparc/include/asm/system_64.h
... | ... | @@ -143,15 +143,7 @@ |
143 | 143 | * and 2 stores in this critical code path. -DaveM |
144 | 144 | */ |
145 | 145 | #define switch_to(prev, next, last) \ |
146 | -do { if (test_thread_flag(TIF_PERFCTR)) { \ | |
147 | - unsigned long __tmp; \ | |
148 | - read_pcr(__tmp); \ | |
149 | - current_thread_info()->pcr_reg = __tmp; \ | |
150 | - read_pic(__tmp); \ | |
151 | - current_thread_info()->kernel_cntd0 += (unsigned int)(__tmp);\ | |
152 | - current_thread_info()->kernel_cntd1 += ((__tmp) >> 32); \ | |
153 | - } \ | |
154 | - flush_tlb_pending(); \ | |
146 | +do { flush_tlb_pending(); \ | |
155 | 147 | save_and_clear_fpu(); \ |
156 | 148 | /* If you are tempted to conditionalize the following */ \ |
157 | 149 | /* so that ASI is only written if it changes, think again. */ \ |
... | ... | @@ -197,11 +189,6 @@ |
197 | 189 | "l1", "l2", "l3", "l4", "l5", "l6", "l7", \ |
198 | 190 | "i0", "i1", "i2", "i3", "i4", "i5", \ |
199 | 191 | "o0", "o1", "o2", "o3", "o4", "o5", "o7"); \ |
200 | - /* If you fuck with this, update ret_from_syscall code too. */ \ | |
201 | - if (test_thread_flag(TIF_PERFCTR)) { \ | |
202 | - write_pcr(current_thread_info()->pcr_reg); \ | |
203 | - reset_pic(); \ | |
204 | - } \ | |
205 | 192 | } while(0) |
206 | 193 | |
207 | 194 | static inline unsigned long xchg32(__volatile__ unsigned int *m, unsigned int val) |
arch/sparc/include/asm/thread_info_64.h
... | ... | @@ -58,11 +58,6 @@ |
58 | 58 | unsigned long gsr[7]; |
59 | 59 | unsigned long xfsr[7]; |
60 | 60 | |
61 | - __u64 __user *user_cntd0; | |
62 | - __u64 __user *user_cntd1; | |
63 | - __u64 kernel_cntd0, kernel_cntd1; | |
64 | - __u64 pcr_reg; | |
65 | - | |
66 | 61 | struct restart_block restart_block; |
67 | 62 | |
68 | 63 | struct pt_regs *kern_una_regs; |
... | ... | @@ -96,15 +91,10 @@ |
96 | 91 | #define TI_RWIN_SPTRS 0x000003c8 |
97 | 92 | #define TI_GSR 0x00000400 |
98 | 93 | #define TI_XFSR 0x00000438 |
99 | -#define TI_USER_CNTD0 0x00000470 | |
100 | -#define TI_USER_CNTD1 0x00000478 | |
101 | -#define TI_KERN_CNTD0 0x00000480 | |
102 | -#define TI_KERN_CNTD1 0x00000488 | |
103 | -#define TI_PCR 0x00000490 | |
104 | -#define TI_RESTART_BLOCK 0x00000498 | |
105 | -#define TI_KUNA_REGS 0x000004c8 | |
106 | -#define TI_KUNA_INSN 0x000004d0 | |
107 | -#define TI_FPREGS 0x00000500 | |
94 | +#define TI_RESTART_BLOCK 0x00000470 | |
95 | +#define TI_KUNA_REGS 0x000004a0 | |
96 | +#define TI_KUNA_INSN 0x000004a8 | |
97 | +#define TI_FPREGS 0x000004c0 | |
108 | 98 | |
109 | 99 | /* We embed this in the uppermost byte of thread_info->flags */ |
110 | 100 | #define FAULT_CODE_WRITE 0x01 /* Write access, implies D-TLB */ |
... | ... | @@ -199,7 +189,7 @@ |
199 | 189 | * |
200 | 190 | * On trap return we need to test several values: |
201 | 191 | * |
202 | - * user: need_resched, notify_resume, sigpending, wsaved, perfctr | |
192 | + * user: need_resched, notify_resume, sigpending, wsaved | |
203 | 193 | * kernel: fpdepth |
204 | 194 | * |
205 | 195 | * So to check for work in the kernel case we simply load the fpdepth |
... | ... | @@ -220,7 +210,7 @@ |
220 | 210 | #define TIF_NOTIFY_RESUME 1 /* callback before returning to user */ |
221 | 211 | #define TIF_SIGPENDING 2 /* signal pending */ |
222 | 212 | #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ |
223 | -#define TIF_PERFCTR 4 /* performance counters active */ | |
213 | +/* flag bit 4 is available */ | |
224 | 214 | #define TIF_UNALIGNED 5 /* allowed to do unaligned accesses */ |
225 | 215 | /* flag bit 6 is available */ |
226 | 216 | #define TIF_32BIT 7 /* 32-bit binary */ |
... | ... | @@ -241,7 +231,6 @@ |
241 | 231 | #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) |
242 | 232 | #define _TIF_SIGPENDING (1<<TIF_SIGPENDING) |
243 | 233 | #define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) |
244 | -#define _TIF_PERFCTR (1<<TIF_PERFCTR) | |
245 | 234 | #define _TIF_UNALIGNED (1<<TIF_UNALIGNED) |
246 | 235 | #define _TIF_32BIT (1<<TIF_32BIT) |
247 | 236 | #define _TIF_SECCOMP (1<<TIF_SECCOMP) |
... | ... | @@ -252,7 +241,7 @@ |
252 | 241 | |
253 | 242 | #define _TIF_USER_WORK_MASK ((0xff << TI_FLAG_WSAVED_SHIFT) | \ |
254 | 243 | _TIF_DO_NOTIFY_RESUME_MASK | \ |
255 | - _TIF_NEED_RESCHED | _TIF_PERFCTR) | |
244 | + _TIF_NEED_RESCHED) | |
256 | 245 | #define _TIF_DO_NOTIFY_RESUME_MASK (_TIF_NOTIFY_RESUME | _TIF_SIGPENDING) |
257 | 246 | |
258 | 247 | /* |
arch/sparc/kernel/entry.h
... | ... | @@ -48,7 +48,6 @@ |
48 | 48 | extern unsigned int dcache_parity_tl1_occurred; |
49 | 49 | extern unsigned int icache_parity_tl1_occurred; |
50 | 50 | |
51 | -extern asmlinkage void update_perfctrs(void); | |
52 | 51 | extern asmlinkage void sparc_breakpoint(struct pt_regs *regs); |
53 | 52 | extern void timer_interrupt(int irq, struct pt_regs *regs); |
54 | 53 |
arch/sparc/kernel/process_64.c
... | ... | @@ -352,12 +352,6 @@ |
352 | 352 | else |
353 | 353 | t->utraps[0]--; |
354 | 354 | } |
355 | - | |
356 | - if (test_and_clear_thread_flag(TIF_PERFCTR)) { | |
357 | - t->user_cntd0 = t->user_cntd1 = NULL; | |
358 | - t->pcr_reg = 0; | |
359 | - write_pcr(0); | |
360 | - } | |
361 | 355 | } |
362 | 356 | |
363 | 357 | void flush_thread(void) |
... | ... | @@ -371,13 +365,6 @@ |
371 | 365 | |
372 | 366 | set_thread_wsaved(0); |
373 | 367 | |
374 | - /* Turn off performance counters if on. */ | |
375 | - if (test_and_clear_thread_flag(TIF_PERFCTR)) { | |
376 | - t->user_cntd0 = t->user_cntd1 = NULL; | |
377 | - t->pcr_reg = 0; | |
378 | - write_pcr(0); | |
379 | - } | |
380 | - | |
381 | 368 | /* Clear FPU register state. */ |
382 | 369 | t->fpsaved[0] = 0; |
383 | 370 | |
... | ... | @@ -591,16 +578,6 @@ |
591 | 578 | t->kregs->u_regs[UREG_FP] = |
592 | 579 | ((unsigned long) child_sf) - STACK_BIAS; |
593 | 580 | |
594 | - /* Special case, if we are spawning a kernel thread from | |
595 | - * a userspace task (usermode helper, NFS or similar), we | |
596 | - * must disable performance counters in the child because | |
597 | - * the address space and protection realm are changing. | |
598 | - */ | |
599 | - if (t->flags & _TIF_PERFCTR) { | |
600 | - t->user_cntd0 = t->user_cntd1 = NULL; | |
601 | - t->pcr_reg = 0; | |
602 | - t->flags &= ~_TIF_PERFCTR; | |
603 | - } | |
604 | 581 | t->flags |= ((long)ASI_P << TI_FLAG_CURRENT_DS_SHIFT); |
605 | 582 | t->kregs->u_regs[UREG_G6] = (unsigned long) t; |
606 | 583 | t->kregs->u_regs[UREG_G4] = (unsigned long) t->task; |
arch/sparc/kernel/rtrap_64.S
... | ... | @@ -65,48 +65,6 @@ |
65 | 65 | ba,pt %xcc, __handle_user_windows_continue |
66 | 66 | |
67 | 67 | andn %l1, %l4, %l1 |
68 | -__handle_perfctrs: | |
69 | - call update_perfctrs | |
70 | - wrpr %g0, RTRAP_PSTATE, %pstate | |
71 | - wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate | |
72 | - ldub [%g6 + TI_WSAVED], %o2 | |
73 | - brz,pt %o2, 1f | |
74 | - nop | |
75 | - /* Redo userwin+sched+sig checks */ | |
76 | - call fault_in_user_windows | |
77 | - | |
78 | - wrpr %g0, RTRAP_PSTATE, %pstate | |
79 | - wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate | |
80 | - ldx [%g6 + TI_FLAGS], %l0 | |
81 | - andcc %l0, _TIF_NEED_RESCHED, %g0 | |
82 | - be,pt %xcc, 1f | |
83 | - | |
84 | - nop | |
85 | - call schedule | |
86 | - wrpr %g0, RTRAP_PSTATE, %pstate | |
87 | - wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate | |
88 | - ldx [%g6 + TI_FLAGS], %l0 | |
89 | -1: andcc %l0, _TIF_DO_NOTIFY_RESUME_MASK, %g0 | |
90 | - | |
91 | - be,pt %xcc, __handle_perfctrs_continue | |
92 | - sethi %hi(TSTATE_PEF), %o0 | |
93 | - mov %l5, %o1 | |
94 | - add %sp, PTREGS_OFF, %o0 | |
95 | - mov %l0, %o2 | |
96 | - call do_notify_resume | |
97 | - | |
98 | - wrpr %g0, RTRAP_PSTATE, %pstate | |
99 | - wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate | |
100 | - /* Signal delivery can modify pt_regs tstate, so we must | |
101 | - * reload it. | |
102 | - */ | |
103 | - ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1 | |
104 | - sethi %hi(0xf << 20), %l4 | |
105 | - and %l1, %l4, %l4 | |
106 | - andn %l1, %l4, %l1 | |
107 | - ba,pt %xcc, __handle_perfctrs_continue | |
108 | - | |
109 | - sethi %hi(TSTATE_PEF), %o0 | |
110 | 68 | __handle_userfpu: |
111 | 69 | rd %fprs, %l5 |
112 | 70 | andcc %l5, FPRS_FEF, %g0 |
... | ... | @@ -191,9 +149,9 @@ |
191 | 149 | * take until the next local IRQ before the signal/resched |
192 | 150 | * event would be handled. |
193 | 151 | * |
194 | - * This also means that if we have to deal with performance | |
195 | - * counters or user windows, we have to redo all of these | |
196 | - * sched+signal checks with IRQs disabled. | |
152 | + * This also means that if we have to deal with user | |
153 | + * windows, we have to redo all of these sched+signal checks | |
154 | + * with IRQs disabled. | |
197 | 155 | */ |
198 | 156 | to_user: wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate |
199 | 157 | wrpr 0, %pil |
200 | 158 | |
... | ... | @@ -214,12 +172,8 @@ |
214 | 172 | brnz,pn %o2, __handle_user_windows |
215 | 173 | nop |
216 | 174 | __handle_user_windows_continue: |
217 | - ldx [%g6 + TI_FLAGS], %l5 | |
218 | - andcc %l5, _TIF_PERFCTR, %g0 | |
219 | 175 | sethi %hi(TSTATE_PEF), %o0 |
220 | - bne,pn %xcc, __handle_perfctrs | |
221 | -__handle_perfctrs_continue: | |
222 | - andcc %l1, %o0, %g0 | |
176 | + andcc %l1, %o0, %g0 | |
223 | 177 | |
224 | 178 | /* This fpdepth clear is necessary for non-syscall rtraps only */ |
225 | 179 | user_nowork: |
arch/sparc/kernel/sys32.S
... | ... | @@ -51,7 +51,6 @@ |
51 | 51 | SIGN1(sys32_wait4, compat_sys_wait4, %o2) |
52 | 52 | SIGN1(sys32_creat, sys_creat, %o1) |
53 | 53 | SIGN1(sys32_mknod, sys_mknod, %o1) |
54 | -SIGN1(sys32_perfctr, sys_perfctr, %o0) | |
55 | 54 | SIGN1(sys32_umount, sys_umount, %o1) |
56 | 55 | SIGN1(sys32_signal, sys_signal, %o0) |
57 | 56 | SIGN1(sys32_access, sys_access, %o1) |
arch/sparc/kernel/sys_sparc_64.c
... | ... | @@ -27,7 +27,6 @@ |
27 | 27 | |
28 | 28 | #include <asm/uaccess.h> |
29 | 29 | #include <asm/utrap.h> |
30 | -#include <asm/perfctr.h> | |
31 | 30 | #include <asm/unistd.h> |
32 | 31 | |
33 | 32 | #include "entry.h" |
... | ... | @@ -764,109 +763,6 @@ |
764 | 763 | } |
765 | 764 | |
766 | 765 | return ret; |
767 | -} | |
768 | - | |
769 | -/* Invoked by rtrap code to update performance counters in | |
770 | - * user space. | |
771 | - */ | |
772 | -asmlinkage void update_perfctrs(void) | |
773 | -{ | |
774 | - unsigned long pic, tmp; | |
775 | - | |
776 | - read_pic(pic); | |
777 | - tmp = (current_thread_info()->kernel_cntd0 += (unsigned int)pic); | |
778 | - __put_user(tmp, current_thread_info()->user_cntd0); | |
779 | - tmp = (current_thread_info()->kernel_cntd1 += (pic >> 32)); | |
780 | - __put_user(tmp, current_thread_info()->user_cntd1); | |
781 | - reset_pic(); | |
782 | -} | |
783 | - | |
784 | -SYSCALL_DEFINE4(perfctr, int, opcode, unsigned long, arg0, | |
785 | - unsigned long, arg1, unsigned long, arg2) | |
786 | -{ | |
787 | - int err = 0; | |
788 | - | |
789 | - switch(opcode) { | |
790 | - case PERFCTR_ON: | |
791 | - current_thread_info()->pcr_reg = arg2; | |
792 | - current_thread_info()->user_cntd0 = (u64 __user *) arg0; | |
793 | - current_thread_info()->user_cntd1 = (u64 __user *) arg1; | |
794 | - current_thread_info()->kernel_cntd0 = | |
795 | - current_thread_info()->kernel_cntd1 = 0; | |
796 | - write_pcr(arg2); | |
797 | - reset_pic(); | |
798 | - set_thread_flag(TIF_PERFCTR); | |
799 | - break; | |
800 | - | |
801 | - case PERFCTR_OFF: | |
802 | - err = -EINVAL; | |
803 | - if (test_thread_flag(TIF_PERFCTR)) { | |
804 | - current_thread_info()->user_cntd0 = | |
805 | - current_thread_info()->user_cntd1 = NULL; | |
806 | - current_thread_info()->pcr_reg = 0; | |
807 | - write_pcr(0); | |
808 | - clear_thread_flag(TIF_PERFCTR); | |
809 | - err = 0; | |
810 | - } | |
811 | - break; | |
812 | - | |
813 | - case PERFCTR_READ: { | |
814 | - unsigned long pic, tmp; | |
815 | - | |
816 | - if (!test_thread_flag(TIF_PERFCTR)) { | |
817 | - err = -EINVAL; | |
818 | - break; | |
819 | - } | |
820 | - read_pic(pic); | |
821 | - tmp = (current_thread_info()->kernel_cntd0 += (unsigned int)pic); | |
822 | - err |= __put_user(tmp, current_thread_info()->user_cntd0); | |
823 | - tmp = (current_thread_info()->kernel_cntd1 += (pic >> 32)); | |
824 | - err |= __put_user(tmp, current_thread_info()->user_cntd1); | |
825 | - reset_pic(); | |
826 | - break; | |
827 | - } | |
828 | - | |
829 | - case PERFCTR_CLRPIC: | |
830 | - if (!test_thread_flag(TIF_PERFCTR)) { | |
831 | - err = -EINVAL; | |
832 | - break; | |
833 | - } | |
834 | - current_thread_info()->kernel_cntd0 = | |
835 | - current_thread_info()->kernel_cntd1 = 0; | |
836 | - reset_pic(); | |
837 | - break; | |
838 | - | |
839 | - case PERFCTR_SETPCR: { | |
840 | - u64 __user *user_pcr = (u64 __user *)arg0; | |
841 | - | |
842 | - if (!test_thread_flag(TIF_PERFCTR)) { | |
843 | - err = -EINVAL; | |
844 | - break; | |
845 | - } | |
846 | - err |= __get_user(current_thread_info()->pcr_reg, user_pcr); | |
847 | - write_pcr(current_thread_info()->pcr_reg); | |
848 | - current_thread_info()->kernel_cntd0 = | |
849 | - current_thread_info()->kernel_cntd1 = 0; | |
850 | - reset_pic(); | |
851 | - break; | |
852 | - } | |
853 | - | |
854 | - case PERFCTR_GETPCR: { | |
855 | - u64 __user *user_pcr = (u64 __user *)arg0; | |
856 | - | |
857 | - if (!test_thread_flag(TIF_PERFCTR)) { | |
858 | - err = -EINVAL; | |
859 | - break; | |
860 | - } | |
861 | - err |= __put_user(current_thread_info()->pcr_reg, user_pcr); | |
862 | - break; | |
863 | - } | |
864 | - | |
865 | - default: | |
866 | - err = -EINVAL; | |
867 | - break; | |
868 | - }; | |
869 | - return err; | |
870 | 766 | } |
871 | 767 | |
872 | 768 | /* |
arch/sparc/kernel/syscalls.S
... | ... | @@ -110,31 +110,12 @@ |
110 | 110 | |
111 | 111 | .globl ret_from_syscall |
112 | 112 | ret_from_syscall: |
113 | - /* Clear current_thread_info()->new_child, and | |
114 | - * check performance counter stuff too. | |
115 | - */ | |
113 | + /* Clear current_thread_info()->new_child. */ | |
116 | 114 | stb %g0, [%g6 + TI_NEW_CHILD] |
117 | 115 | ldx [%g6 + TI_FLAGS], %l0 |
118 | 116 | call schedule_tail |
119 | 117 | mov %g7, %o0 |
120 | - andcc %l0, _TIF_PERFCTR, %g0 | |
121 | - be,pt %icc, 1f | |
122 | - nop | |
123 | - ldx [%g6 + TI_PCR], %o7 | |
124 | - wr %g0, %o7, %pcr | |
125 | - | |
126 | - /* Blackbird errata workaround. See commentary in | |
127 | - * smp.c:smp_percpu_timer_interrupt() for more | |
128 | - * information. | |
129 | - */ | |
130 | - ba,pt %xcc, 99f | |
131 | - nop | |
132 | - | |
133 | - .align 64 | |
134 | -99: wr %g0, %g0, %pic | |
135 | - rd %pic, %g0 | |
136 | - | |
137 | -1: ba,pt %xcc, ret_sys_call | |
118 | + ba,pt %xcc, ret_sys_call | |
138 | 119 | ldx [%sp + PTREGS_OFF + PT_V9_I0], %o0 |
139 | 120 | |
140 | 121 | .globl sparc_exit |
arch/sparc/kernel/systbls.h
... | ... | @@ -36,8 +36,6 @@ |
36 | 36 | struct sigaction __user *oact, |
37 | 37 | void __user *restorer, |
38 | 38 | size_t sigsetsize); |
39 | -extern asmlinkage long sys_perfctr(int opcode, unsigned long arg0, | |
40 | - unsigned long arg1, unsigned long arg2); | |
41 | 39 | |
42 | 40 | extern asmlinkage void sparc64_set_context(struct pt_regs *regs); |
43 | 41 | extern asmlinkage void sparc64_get_context(struct pt_regs *regs); |
arch/sparc/kernel/systbls_64.S
... | ... | @@ -21,7 +21,7 @@ |
21 | 21 | /*0*/ .word sys_restart_syscall, sys32_exit, sys_fork, sys_read, sys_write |
22 | 22 | /*5*/ .word sys32_open, sys_close, sys32_wait4, sys32_creat, sys_link |
23 | 23 | /*10*/ .word sys_unlink, sunos_execv, sys_chdir, sys_chown16, sys32_mknod |
24 | -/*15*/ .word sys_chmod, sys_lchown16, sys_brk, sys32_perfctr, sys32_lseek | |
24 | +/*15*/ .word sys_chmod, sys_lchown16, sys_brk, sys_nis_syscall, sys32_lseek | |
25 | 25 | /*20*/ .word sys_getpid, sys_capget, sys_capset, sys_setuid16, sys_getuid16 |
26 | 26 | /*25*/ .word sys32_vmsplice, compat_sys_ptrace, sys_alarm, sys32_sigaltstack, sys_pause |
27 | 27 | /*30*/ .word compat_sys_utime, sys_lchown, sys_fchown, sys32_access, sys32_nice |
... | ... | @@ -96,7 +96,7 @@ |
96 | 96 | /*0*/ .word sys_restart_syscall, sparc_exit, sys_fork, sys_read, sys_write |
97 | 97 | /*5*/ .word sys_open, sys_close, sys_wait4, sys_creat, sys_link |
98 | 98 | /*10*/ .word sys_unlink, sys_nis_syscall, sys_chdir, sys_chown, sys_mknod |
99 | -/*15*/ .word sys_chmod, sys_lchown, sys_brk, sys_perfctr, sys_lseek | |
99 | +/*15*/ .word sys_chmod, sys_lchown, sys_brk, sys_nis_syscall, sys_lseek | |
100 | 100 | /*20*/ .word sys_getpid, sys_capget, sys_capset, sys_setuid, sys_getuid |
101 | 101 | /*25*/ .word sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_nis_syscall |
102 | 102 | /*30*/ .word sys_utime, sys_nis_syscall, sys_nis_syscall, sys_access, sys_nice |
arch/sparc/kernel/traps_64.c
... | ... | @@ -2548,15 +2548,6 @@ |
2548 | 2548 | rwbuf_stkptrs) || |
2549 | 2549 | TI_GSR != offsetof(struct thread_info, gsr) || |
2550 | 2550 | TI_XFSR != offsetof(struct thread_info, xfsr) || |
2551 | - TI_USER_CNTD0 != offsetof(struct thread_info, | |
2552 | - user_cntd0) || | |
2553 | - TI_USER_CNTD1 != offsetof(struct thread_info, | |
2554 | - user_cntd1) || | |
2555 | - TI_KERN_CNTD0 != offsetof(struct thread_info, | |
2556 | - kernel_cntd0) || | |
2557 | - TI_KERN_CNTD1 != offsetof(struct thread_info, | |
2558 | - kernel_cntd1) || | |
2559 | - TI_PCR != offsetof(struct thread_info, pcr_reg) || | |
2560 | 2551 | TI_PRE_COUNT != offsetof(struct thread_info, |
2561 | 2552 | preempt_count) || |
2562 | 2553 | TI_NEW_CHILD != offsetof(struct thread_info, new_child) || |