aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ia64')
-rw-r--r--include/asm-ia64/hw_irq.h1
-rw-r--r--include/asm-ia64/iosapic.h2
-rw-r--r--include/asm-ia64/smp.h6
-rw-r--r--include/asm-ia64/sn/sn_sal.h1
-rw-r--r--include/asm-ia64/thread_info.h6
-rw-r--r--include/asm-ia64/tlbflush.h11
-rw-r--r--include/asm-ia64/unistd.h5
7 files changed, 25 insertions, 7 deletions
diff --git a/include/asm-ia64/hw_irq.h b/include/asm-ia64/hw_irq.h
index 27f9df6b9145..c054d7a9aaa7 100644
--- a/include/asm-ia64/hw_irq.h
+++ b/include/asm-ia64/hw_irq.h
@@ -66,6 +66,7 @@ extern int ia64_last_device_vector;
66#define IA64_PERFMON_VECTOR 0xee /* performanc monitor interrupt vector */ 66#define IA64_PERFMON_VECTOR 0xee /* performanc monitor interrupt vector */
67#define IA64_TIMER_VECTOR 0xef /* use highest-prio group 15 interrupt for timer */ 67#define IA64_TIMER_VECTOR 0xef /* use highest-prio group 15 interrupt for timer */
68#define IA64_MCA_WAKEUP_VECTOR 0xf0 /* MCA wakeup (must be >MCA_RENDEZ_VECTOR) */ 68#define IA64_MCA_WAKEUP_VECTOR 0xf0 /* MCA wakeup (must be >MCA_RENDEZ_VECTOR) */
69#define IA64_IPI_LOCAL_TLB_FLUSH 0xfc /* SMP flush local TLB */
69#define IA64_IPI_RESCHEDULE 0xfd /* SMP reschedule */ 70#define IA64_IPI_RESCHEDULE 0xfd /* SMP reschedule */
70#define IA64_IPI_VECTOR 0xfe /* inter-processor interrupt vector */ 71#define IA64_IPI_VECTOR 0xfe /* inter-processor interrupt vector */
71 72
diff --git a/include/asm-ia64/iosapic.h b/include/asm-ia64/iosapic.h
index 20f98f1751a1..421cb6b62a7c 100644
--- a/include/asm-ia64/iosapic.h
+++ b/include/asm-ia64/iosapic.h
@@ -83,7 +83,7 @@ extern int gsi_to_irq (unsigned int gsi);
83extern int iosapic_register_intr (unsigned int gsi, unsigned long polarity, 83extern int iosapic_register_intr (unsigned int gsi, unsigned long polarity,
84 unsigned long trigger); 84 unsigned long trigger);
85extern void iosapic_unregister_intr (unsigned int irq); 85extern void iosapic_unregister_intr (unsigned int irq);
86extern void __init iosapic_override_isa_irq (unsigned int isa_irq, unsigned int gsi, 86extern void __devinit iosapic_override_isa_irq (unsigned int isa_irq, unsigned int gsi,
87 unsigned long polarity, 87 unsigned long polarity,
88 unsigned long trigger); 88 unsigned long trigger);
89extern int __init iosapic_register_platform_intr (u32 int_type, 89extern int __init iosapic_register_platform_intr (u32 int_type,
diff --git a/include/asm-ia64/smp.h b/include/asm-ia64/smp.h
index 60fd4ae014f6..c60024989ebd 100644
--- a/include/asm-ia64/smp.h
+++ b/include/asm-ia64/smp.h
@@ -38,6 +38,8 @@ ia64_get_lid (void)
38 return lid.f.id << 8 | lid.f.eid; 38 return lid.f.id << 8 | lid.f.eid;
39} 39}
40 40
41#define hard_smp_processor_id() ia64_get_lid()
42
41#ifdef CONFIG_SMP 43#ifdef CONFIG_SMP
42 44
43#define XTP_OFFSET 0x1e0008 45#define XTP_OFFSET 0x1e0008
@@ -110,8 +112,6 @@ max_xtp (void)
110 writeb(0x0f, ipi_base_addr + XTP_OFFSET); /* Set XTP to max */ 112 writeb(0x0f, ipi_base_addr + XTP_OFFSET); /* Set XTP to max */
111} 113}
112 114
113#define hard_smp_processor_id() ia64_get_lid()
114
115/* Upping and downing of CPUs */ 115/* Upping and downing of CPUs */
116extern int __cpu_disable (void); 116extern int __cpu_disable (void);
117extern void __cpu_die (unsigned int cpu); 117extern void __cpu_die (unsigned int cpu);
@@ -128,7 +128,7 @@ extern void unlock_ipi_calllock(void);
128extern void identify_siblings (struct cpuinfo_ia64 *); 128extern void identify_siblings (struct cpuinfo_ia64 *);
129extern int is_multithreading_enabled(void); 129extern int is_multithreading_enabled(void);
130 130
131#else 131#else /* CONFIG_SMP */
132 132
133#define cpu_logical_id(i) 0 133#define cpu_logical_id(i) 0
134#define cpu_physical_id(i) ia64_get_lid() 134#define cpu_physical_id(i) ia64_get_lid()
diff --git a/include/asm-ia64/sn/sn_sal.h b/include/asm-ia64/sn/sn_sal.h
index 2c4004eb5a68..291e8ceed6e6 100644
--- a/include/asm-ia64/sn/sn_sal.h
+++ b/include/asm-ia64/sn/sn_sal.h
@@ -106,6 +106,7 @@
106/* interrupt handling */ 106/* interrupt handling */
107#define SAL_INTR_ALLOC 1 107#define SAL_INTR_ALLOC 1
108#define SAL_INTR_FREE 2 108#define SAL_INTR_FREE 2
109#define SAL_INTR_REDIRECT 3
109 110
110/* 111/*
111 * operations available on the generic SN_SAL_SYSCTL_OP 112 * operations available on the generic SN_SAL_SYSCTL_OP
diff --git a/include/asm-ia64/thread_info.h b/include/asm-ia64/thread_info.h
index 91698599f918..7d0241db622b 100644
--- a/include/asm-ia64/thread_info.h
+++ b/include/asm-ia64/thread_info.h
@@ -85,6 +85,7 @@ struct thread_info {
85#define TIF_SYSCALL_TRACE 3 /* syscall trace active */ 85#define TIF_SYSCALL_TRACE 3 /* syscall trace active */
86#define TIF_SYSCALL_AUDIT 4 /* syscall auditing active */ 86#define TIF_SYSCALL_AUDIT 4 /* syscall auditing active */
87#define TIF_SINGLESTEP 5 /* restore singlestep on return to user mode */ 87#define TIF_SINGLESTEP 5 /* restore singlestep on return to user mode */
88#define TIF_RESTORE_SIGMASK 6 /* restore signal mask in do_signal() */
88#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ 89#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */
89#define TIF_MEMDIE 17 90#define TIF_MEMDIE 17
90#define TIF_MCA_INIT 18 /* this task is processing MCA or INIT */ 91#define TIF_MCA_INIT 18 /* this task is processing MCA or INIT */
@@ -96,6 +97,7 @@ struct thread_info {
96#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP) 97#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
97#define _TIF_SYSCALL_TRACEAUDIT (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP) 98#define _TIF_SYSCALL_TRACEAUDIT (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP)
98#define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) 99#define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME)
100#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
99#define _TIF_SIGPENDING (1 << TIF_SIGPENDING) 101#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
100#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) 102#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
101#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) 103#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
@@ -104,12 +106,12 @@ struct thread_info {
104#define _TIF_FREEZE (1 << TIF_FREEZE) 106#define _TIF_FREEZE (1 << TIF_FREEZE)
105 107
106/* "work to do on user-return" bits */ 108/* "work to do on user-return" bits */
107#define TIF_ALLWORK_MASK (_TIF_NOTIFY_RESUME|_TIF_SIGPENDING|_TIF_NEED_RESCHED|_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT) 109#define TIF_ALLWORK_MASK (_TIF_NOTIFY_RESUME|_TIF_SIGPENDING|_TIF_NEED_RESCHED|_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_RESTORE_SIGMASK)
108/* like TIF_ALLWORK_BITS but sans TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT */ 110/* like TIF_ALLWORK_BITS but sans TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT */
109#define TIF_WORK_MASK (TIF_ALLWORK_MASK&~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT)) 111#define TIF_WORK_MASK (TIF_ALLWORK_MASK&~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT))
110 112
111#define TS_POLLING 1 /* true if in idle loop and not sleeping */ 113#define TS_POLLING 1 /* true if in idle loop and not sleeping */
112 114
113#define tsk_is_polling(t) ((t)->thread_info->status & TS_POLLING) 115#define tsk_is_polling(t) (task_thread_info(t)->status & TS_POLLING)
114 116
115#endif /* _ASM_IA64_THREAD_INFO_H */ 117#endif /* _ASM_IA64_THREAD_INFO_H */
diff --git a/include/asm-ia64/tlbflush.h b/include/asm-ia64/tlbflush.h
index cf9acb9bb1fb..e37f9fbf33af 100644
--- a/include/asm-ia64/tlbflush.h
+++ b/include/asm-ia64/tlbflush.h
@@ -27,9 +27,11 @@ extern void local_flush_tlb_all (void);
27#ifdef CONFIG_SMP 27#ifdef CONFIG_SMP
28 extern void smp_flush_tlb_all (void); 28 extern void smp_flush_tlb_all (void);
29 extern void smp_flush_tlb_mm (struct mm_struct *mm); 29 extern void smp_flush_tlb_mm (struct mm_struct *mm);
30 extern void smp_flush_tlb_cpumask (cpumask_t xcpumask);
30# define flush_tlb_all() smp_flush_tlb_all() 31# define flush_tlb_all() smp_flush_tlb_all()
31#else 32#else
32# define flush_tlb_all() local_flush_tlb_all() 33# define flush_tlb_all() local_flush_tlb_all()
34# define smp_flush_tlb_cpumask(m) local_flush_tlb_all()
33#endif 35#endif
34 36
35static inline void 37static inline void
@@ -94,6 +96,15 @@ flush_tlb_pgtables (struct mm_struct *mm, unsigned long start, unsigned long end
94 */ 96 */
95} 97}
96 98
99/*
100 * Flush the local TLB. Invoked from another cpu using an IPI.
101 */
102#ifdef CONFIG_SMP
103void smp_local_flush_tlb(void);
104#else
105#define smp_local_flush_tlb()
106#endif
107
97#define flush_tlb_kernel_range(start, end) flush_tlb_all() /* XXX fix me */ 108#define flush_tlb_kernel_range(start, end) flush_tlb_all() /* XXX fix me */
98 109
99#endif /* _ASM_IA64_TLBFLUSH_H */ 110#endif /* _ASM_IA64_TLBFLUSH_H */
diff --git a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h
index a9e1fa4cac4d..861c8ec87b09 100644
--- a/include/asm-ia64/unistd.h
+++ b/include/asm-ia64/unistd.h
@@ -283,7 +283,8 @@
283#define __NR_readlinkat 1291 283#define __NR_readlinkat 1291
284#define __NR_fchmodat 1292 284#define __NR_fchmodat 1292
285#define __NR_faccessat 1293 285#define __NR_faccessat 1293
286/* 1294, 1295 reserved for pselect/ppoll */ 286#define __NR_pselect6 1294
287#define __NR_ppoll 1295
287#define __NR_unshare 1296 288#define __NR_unshare 1296
288#define __NR_splice 1297 289#define __NR_splice 1297
289#define __NR_set_robust_list 1298 290#define __NR_set_robust_list 1298
@@ -300,6 +301,7 @@
300#define NR_syscalls 281 /* length of syscall table */ 301#define NR_syscalls 281 /* length of syscall table */
301 302
302#define __ARCH_WANT_SYS_RT_SIGACTION 303#define __ARCH_WANT_SYS_RT_SIGACTION
304#define __ARCH_WANT_SYS_RT_SIGSUSPEND
303 305
304#ifdef CONFIG_IA32_SUPPORT 306#ifdef CONFIG_IA32_SUPPORT
305# define __ARCH_WANT_SYS_FADVISE64 307# define __ARCH_WANT_SYS_FADVISE64
@@ -310,6 +312,7 @@
310# define __ARCH_WANT_SYS_OLDUMOUNT 312# define __ARCH_WANT_SYS_OLDUMOUNT
311# define __ARCH_WANT_SYS_SIGPENDING 313# define __ARCH_WANT_SYS_SIGPENDING
312# define __ARCH_WANT_SYS_SIGPROCMASK 314# define __ARCH_WANT_SYS_SIGPROCMASK
315# define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
313# define __ARCH_WANT_COMPAT_SYS_TIME 316# define __ARCH_WANT_COMPAT_SYS_TIME
314#endif 317#endif
315 318