diff options
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/Kbuild | 2 | ||||
-rw-r--r-- | include/asm-ia64/hw_irq.h | 12 | ||||
-rw-r--r-- | include/asm-ia64/kprobes.h | 7 | ||||
-rw-r--r-- | include/asm-ia64/ptrace.h | 9 | ||||
-rw-r--r-- | include/asm-ia64/sal.h | 4 |
5 files changed, 24 insertions, 10 deletions
diff --git a/include/asm-ia64/Kbuild b/include/asm-ia64/Kbuild index 4a1e48b9f403..eb24a3f47caa 100644 --- a/include/asm-ia64/Kbuild +++ b/include/asm-ia64/Kbuild | |||
@@ -3,7 +3,6 @@ include include/asm-generic/Kbuild.asm | |||
3 | header-y += break.h | 3 | header-y += break.h |
4 | header-y += fpu.h | 4 | header-y += fpu.h |
5 | header-y += fpswa.h | 5 | header-y += fpswa.h |
6 | header-y += gcc_intrin.h | ||
7 | header-y += ia64regs.h | 6 | header-y += ia64regs.h |
8 | header-y += intel_intrin.h | 7 | header-y += intel_intrin.h |
9 | header-y += intrinsics.h | 8 | header-y += intrinsics.h |
@@ -12,5 +11,6 @@ header-y += ptrace_offsets.h | |||
12 | header-y += rse.h | 11 | header-y += rse.h |
13 | header-y += ucontext.h | 12 | header-y += ucontext.h |
14 | 13 | ||
14 | unifdef-y += gcc_intrin.h | ||
15 | unifdef-y += perfmon.h | 15 | unifdef-y += perfmon.h |
16 | unifdef-y += ustack.h | 16 | unifdef-y += ustack.h |
diff --git a/include/asm-ia64/hw_irq.h b/include/asm-ia64/hw_irq.h index 7e6e3779670a..76366dc9c1a0 100644 --- a/include/asm-ia64/hw_irq.h +++ b/include/asm-ia64/hw_irq.h | |||
@@ -93,6 +93,9 @@ extern __u8 isa_irq_to_vector_map[16]; | |||
93 | struct irq_cfg { | 93 | struct irq_cfg { |
94 | ia64_vector vector; | 94 | ia64_vector vector; |
95 | cpumask_t domain; | 95 | cpumask_t domain; |
96 | cpumask_t old_domain; | ||
97 | unsigned move_cleanup_count; | ||
98 | u8 move_in_progress : 1; | ||
96 | }; | 99 | }; |
97 | extern spinlock_t vector_lock; | 100 | extern spinlock_t vector_lock; |
98 | extern struct irq_cfg irq_cfg[NR_IRQS]; | 101 | extern struct irq_cfg irq_cfg[NR_IRQS]; |
@@ -106,12 +109,19 @@ extern int assign_irq_vector (int irq); /* allocate a free vector */ | |||
106 | extern void free_irq_vector (int vector); | 109 | extern void free_irq_vector (int vector); |
107 | extern int reserve_irq_vector (int vector); | 110 | extern int reserve_irq_vector (int vector); |
108 | extern void __setup_vector_irq(int cpu); | 111 | extern void __setup_vector_irq(int cpu); |
109 | extern int reassign_irq_vector(int irq, int cpu); | ||
110 | extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect); | 112 | extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect); |
111 | extern void register_percpu_irq (ia64_vector vec, struct irqaction *action); | 113 | extern void register_percpu_irq (ia64_vector vec, struct irqaction *action); |
112 | extern int check_irq_used (int irq); | 114 | extern int check_irq_used (int irq); |
113 | extern void destroy_and_reserve_irq (unsigned int irq); | 115 | extern void destroy_and_reserve_irq (unsigned int irq); |
114 | 116 | ||
117 | #if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_DIG)) | ||
118 | extern int irq_prepare_move(int irq, int cpu); | ||
119 | extern void irq_complete_move(unsigned int irq); | ||
120 | #else | ||
121 | static inline int irq_prepare_move(int irq, int cpu) { return 0; } | ||
122 | static inline void irq_complete_move(unsigned int irq) {} | ||
123 | #endif | ||
124 | |||
115 | static inline void ia64_resend_irq(unsigned int vector) | 125 | static inline void ia64_resend_irq(unsigned int vector) |
116 | { | 126 | { |
117 | platform_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0); | 127 | platform_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0); |
diff --git a/include/asm-ia64/kprobes.h b/include/asm-ia64/kprobes.h index a93ce9ef07ff..d03bf9ff68e3 100644 --- a/include/asm-ia64/kprobes.h +++ b/include/asm-ia64/kprobes.h | |||
@@ -82,7 +82,6 @@ struct kprobe_ctlblk { | |||
82 | struct prev_kprobe prev_kprobe[ARCH_PREV_KPROBE_SZ]; | 82 | struct prev_kprobe prev_kprobe[ARCH_PREV_KPROBE_SZ]; |
83 | }; | 83 | }; |
84 | 84 | ||
85 | #define ARCH_SUPPORTS_KRETPROBES | ||
86 | #define kretprobe_blacklist_size 0 | 85 | #define kretprobe_blacklist_size 0 |
87 | 86 | ||
88 | #define SLOT0_OPCODE_SHIFT (37) | 87 | #define SLOT0_OPCODE_SHIFT (37) |
@@ -118,14 +117,10 @@ struct arch_specific_insn { | |||
118 | unsigned short slot; | 117 | unsigned short slot; |
119 | }; | 118 | }; |
120 | 119 | ||
121 | extern int kprobes_fault_handler(struct pt_regs *regs, int trapnr); | 120 | extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr); |
122 | extern int kprobe_exceptions_notify(struct notifier_block *self, | 121 | extern int kprobe_exceptions_notify(struct notifier_block *self, |
123 | unsigned long val, void *data); | 122 | unsigned long val, void *data); |
124 | 123 | ||
125 | /* ia64 does not need this */ | ||
126 | static inline void jprobe_return(void) | ||
127 | { | ||
128 | } | ||
129 | extern void invalidate_stacked_regs(void); | 124 | extern void invalidate_stacked_regs(void); |
130 | extern void flush_register_stack(void); | 125 | extern void flush_register_stack(void); |
131 | extern void arch_remove_kprobe(struct kprobe *p); | 126 | extern void arch_remove_kprobe(struct kprobe *p); |
diff --git a/include/asm-ia64/ptrace.h b/include/asm-ia64/ptrace.h index 0bdce7dde1b0..4b2a8d40ebc5 100644 --- a/include/asm-ia64/ptrace.h +++ b/include/asm-ia64/ptrace.h | |||
@@ -233,8 +233,6 @@ struct switch_stack { | |||
233 | #include <asm/current.h> | 233 | #include <asm/current.h> |
234 | #include <asm/page.h> | 234 | #include <asm/page.h> |
235 | 235 | ||
236 | #define __ARCH_SYS_PTRACE 1 | ||
237 | |||
238 | /* | 236 | /* |
239 | * We use the ia64_psr(regs)->ri to determine which of the three | 237 | * We use the ia64_psr(regs)->ri to determine which of the three |
240 | * instructions in bundle (16 bytes) took the sample. Generate | 238 | * instructions in bundle (16 bytes) took the sample. Generate |
@@ -314,6 +312,13 @@ struct switch_stack { | |||
314 | #define arch_ptrace_attach(child) \ | 312 | #define arch_ptrace_attach(child) \ |
315 | ptrace_attach_sync_user_rbs(child) | 313 | ptrace_attach_sync_user_rbs(child) |
316 | 314 | ||
315 | #define arch_has_single_step() (1) | ||
316 | extern void user_enable_single_step(struct task_struct *); | ||
317 | extern void user_disable_single_step(struct task_struct *); | ||
318 | |||
319 | #define arch_has_block_step() (1) | ||
320 | extern void user_enable_block_step(struct task_struct *); | ||
321 | |||
317 | #endif /* !__KERNEL__ */ | 322 | #endif /* !__KERNEL__ */ |
318 | 323 | ||
319 | /* pt_all_user_regs is used for PTRACE_GETREGS PTRACE_SETREGS */ | 324 | /* pt_all_user_regs is used for PTRACE_GETREGS PTRACE_SETREGS */ |
diff --git a/include/asm-ia64/sal.h b/include/asm-ia64/sal.h index 2251118894ae..f4904db3b057 100644 --- a/include/asm-ia64/sal.h +++ b/include/asm-ia64/sal.h | |||
@@ -807,6 +807,10 @@ static inline s64 | |||
807 | ia64_sal_physical_id_info(u16 *splid) | 807 | ia64_sal_physical_id_info(u16 *splid) |
808 | { | 808 | { |
809 | struct ia64_sal_retval isrv; | 809 | struct ia64_sal_retval isrv; |
810 | |||
811 | if (sal_revision < SAL_VERSION_CODE(3,2)) | ||
812 | return -1; | ||
813 | |||
810 | SAL_CALL(isrv, SAL_PHYSICAL_ID_INFO, 0, 0, 0, 0, 0, 0, 0); | 814 | SAL_CALL(isrv, SAL_PHYSICAL_ID_INFO, 0, 0, 0, 0, 0, 0, 0); |
811 | if (splid) | 815 | if (splid) |
812 | *splid = isrv.v0; | 816 | *splid = isrv.v0; |