aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ia64')
-rw-r--r--include/asm-ia64/ptrace.h11
-rw-r--r--include/asm-ia64/thread_info.h11
-rw-r--r--include/asm-ia64/unistd.h5
3 files changed, 23 insertions, 4 deletions
diff --git a/include/asm-ia64/ptrace.h b/include/asm-ia64/ptrace.h
index f4ef87a36236..0bdce7dde1b0 100644
--- a/include/asm-ia64/ptrace.h
+++ b/include/asm-ia64/ptrace.h
@@ -292,6 +292,7 @@ struct switch_stack {
292 unsigned long, long); 292 unsigned long, long);
293 extern void ia64_flush_fph (struct task_struct *); 293 extern void ia64_flush_fph (struct task_struct *);
294 extern void ia64_sync_fph (struct task_struct *); 294 extern void ia64_sync_fph (struct task_struct *);
295 extern void ia64_sync_krbs(void);
295 extern long ia64_sync_user_rbs (struct task_struct *, struct switch_stack *, 296 extern long ia64_sync_user_rbs (struct task_struct *, struct switch_stack *,
296 unsigned long, unsigned long); 297 unsigned long, unsigned long);
297 298
@@ -303,6 +304,16 @@ struct switch_stack {
303 extern void ia64_increment_ip (struct pt_regs *pt); 304 extern void ia64_increment_ip (struct pt_regs *pt);
304 extern void ia64_decrement_ip (struct pt_regs *pt); 305 extern void ia64_decrement_ip (struct pt_regs *pt);
305 306
307 extern void ia64_ptrace_stop(void);
308 #define arch_ptrace_stop(code, info) \
309 ia64_ptrace_stop()
310 #define arch_ptrace_stop_needed(code, info) \
311 (!test_thread_flag(TIF_RESTORE_RSE))
312
313 extern void ptrace_attach_sync_user_rbs (struct task_struct *);
314 #define arch_ptrace_attach(child) \
315 ptrace_attach_sync_user_rbs(child)
316
306#endif /* !__KERNEL__ */ 317#endif /* !__KERNEL__ */
307 318
308/* pt_all_user_regs is used for PTRACE_GETREGS PTRACE_SETREGS */ 319/* pt_all_user_regs is used for PTRACE_GETREGS PTRACE_SETREGS */
diff --git a/include/asm-ia64/thread_info.h b/include/asm-ia64/thread_info.h
index d16031e72efa..93d83cbe0c8c 100644
--- a/include/asm-ia64/thread_info.h
+++ b/include/asm-ia64/thread_info.h
@@ -71,6 +71,9 @@ struct thread_info {
71#define alloc_task_struct() ((struct task_struct *)__get_free_pages(GFP_KERNEL | __GFP_COMP, KERNEL_STACK_SIZE_ORDER)) 71#define alloc_task_struct() ((struct task_struct *)__get_free_pages(GFP_KERNEL | __GFP_COMP, KERNEL_STACK_SIZE_ORDER))
72#define free_task_struct(tsk) free_pages((unsigned long) (tsk), KERNEL_STACK_SIZE_ORDER) 72#define free_task_struct(tsk) free_pages((unsigned long) (tsk), KERNEL_STACK_SIZE_ORDER)
73 73
74#define tsk_set_notify_resume(tsk) \
75 set_ti_thread_flag(task_thread_info(tsk), TIF_NOTIFY_RESUME)
76extern void tsk_clear_notify_resume(struct task_struct *tsk);
74#endif /* !__ASSEMBLY */ 77#endif /* !__ASSEMBLY */
75 78
76/* 79/*
@@ -85,28 +88,30 @@ struct thread_info {
85#define TIF_SYSCALL_AUDIT 3 /* syscall auditing active */ 88#define TIF_SYSCALL_AUDIT 3 /* syscall auditing active */
86#define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */ 89#define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */
87#define TIF_RESTORE_SIGMASK 5 /* restore signal mask in do_signal() */ 90#define TIF_RESTORE_SIGMASK 5 /* restore signal mask in do_signal() */
88#define TIF_PERFMON_WORK 6 /* work for pfm_handle_work() */ 91#define TIF_NOTIFY_RESUME 6 /* resumption notification requested */
89#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ 92#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */
90#define TIF_MEMDIE 17 93#define TIF_MEMDIE 17
91#define TIF_MCA_INIT 18 /* this task is processing MCA or INIT */ 94#define TIF_MCA_INIT 18 /* this task is processing MCA or INIT */
92#define TIF_DB_DISABLED 19 /* debug trap disabled for fsyscall */ 95#define TIF_DB_DISABLED 19 /* debug trap disabled for fsyscall */
93#define TIF_FREEZE 20 /* is freezing for suspend */ 96#define TIF_FREEZE 20 /* is freezing for suspend */
97#define TIF_RESTORE_RSE 21 /* user RBS is newer than kernel RBS */
94 98
95#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) 99#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
96#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) 100#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
97#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP) 101#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
98#define _TIF_SYSCALL_TRACEAUDIT (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP) 102#define _TIF_SYSCALL_TRACEAUDIT (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP)
99#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK) 103#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
100#define _TIF_PERFMON_WORK (1 << TIF_PERFMON_WORK) 104#define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME)
101#define _TIF_SIGPENDING (1 << TIF_SIGPENDING) 105#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
102#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) 106#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
103#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) 107#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
104#define _TIF_MCA_INIT (1 << TIF_MCA_INIT) 108#define _TIF_MCA_INIT (1 << TIF_MCA_INIT)
105#define _TIF_DB_DISABLED (1 << TIF_DB_DISABLED) 109#define _TIF_DB_DISABLED (1 << TIF_DB_DISABLED)
106#define _TIF_FREEZE (1 << TIF_FREEZE) 110#define _TIF_FREEZE (1 << TIF_FREEZE)
111#define _TIF_RESTORE_RSE (1 << TIF_RESTORE_RSE)
107 112
108/* "work to do on user-return" bits */ 113/* "work to do on user-return" bits */
109#define TIF_ALLWORK_MASK (_TIF_SIGPENDING|_TIF_PERFMON_WORK|_TIF_SYSCALL_AUDIT|\ 114#define TIF_ALLWORK_MASK (_TIF_SIGPENDING|_TIF_NOTIFY_RESUME|_TIF_SYSCALL_AUDIT|\
110 _TIF_NEED_RESCHED| _TIF_SYSCALL_TRACE|\ 115 _TIF_NEED_RESCHED| _TIF_SYSCALL_TRACE|\
111 _TIF_RESTORE_SIGMASK) 116 _TIF_RESTORE_SIGMASK)
112/* like TIF_ALLWORK_BITS but sans TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT */ 117/* like TIF_ALLWORK_BITS but sans TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT */
diff --git a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h
index 315f8de950a2..e60314716122 100644
--- a/include/asm-ia64/unistd.h
+++ b/include/asm-ia64/unistd.h
@@ -299,11 +299,14 @@
299#define __NR_signalfd 1307 299#define __NR_signalfd 1307
300#define __NR_timerfd 1308 300#define __NR_timerfd 1308
301#define __NR_eventfd 1309 301#define __NR_eventfd 1309
302#define __NR_timerfd_create 1310
303#define __NR_timerfd_settime 1311
304#define __NR_timerfd_gettime 1312
302 305
303#ifdef __KERNEL__ 306#ifdef __KERNEL__
304 307
305 308
306#define NR_syscalls 286 /* length of syscall table */ 309#define NR_syscalls 289 /* length of syscall table */
307 310
308/* 311/*
309 * The following defines stop scripts/checksyscalls.sh from complaining about 312 * The following defines stop scripts/checksyscalls.sh from complaining about