diff options
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/hw_irq.h | 1 | ||||
-rw-r--r-- | include/asm-ia64/iosapic.h | 2 | ||||
-rw-r--r-- | include/asm-ia64/smp.h | 6 | ||||
-rw-r--r-- | include/asm-ia64/sn/sn_sal.h | 1 | ||||
-rw-r--r-- | include/asm-ia64/thread_info.h | 6 | ||||
-rw-r--r-- | include/asm-ia64/tlbflush.h | 11 | ||||
-rw-r--r-- | include/asm-ia64/unistd.h | 5 |
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); | |||
83 | extern int iosapic_register_intr (unsigned int gsi, unsigned long polarity, | 83 | extern int iosapic_register_intr (unsigned int gsi, unsigned long polarity, |
84 | unsigned long trigger); | 84 | unsigned long trigger); |
85 | extern void iosapic_unregister_intr (unsigned int irq); | 85 | extern void iosapic_unregister_intr (unsigned int irq); |
86 | extern void __init iosapic_override_isa_irq (unsigned int isa_irq, unsigned int gsi, | 86 | extern 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); |
89 | extern int __init iosapic_register_platform_intr (u32 int_type, | 89 | extern 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 */ |
116 | extern int __cpu_disable (void); | 116 | extern int __cpu_disable (void); |
117 | extern void __cpu_die (unsigned int cpu); | 117 | extern void __cpu_die (unsigned int cpu); |
@@ -128,7 +128,7 @@ extern void unlock_ipi_calllock(void); | |||
128 | extern void identify_siblings (struct cpuinfo_ia64 *); | 128 | extern void identify_siblings (struct cpuinfo_ia64 *); |
129 | extern int is_multithreading_enabled(void); | 129 | extern 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 | ||
35 | static inline void | 37 | static 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 | ||
103 | void 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 | ||