aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ia64')
-rw-r--r--include/asm-ia64/Kbuild2
-rw-r--r--include/asm-ia64/hw_irq.h12
-rw-r--r--include/asm-ia64/kprobes.h7
-rw-r--r--include/asm-ia64/ptrace.h9
-rw-r--r--include/asm-ia64/sal.h4
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
3header-y += break.h 3header-y += break.h
4header-y += fpu.h 4header-y += fpu.h
5header-y += fpswa.h 5header-y += fpswa.h
6header-y += gcc_intrin.h
7header-y += ia64regs.h 6header-y += ia64regs.h
8header-y += intel_intrin.h 7header-y += intel_intrin.h
9header-y += intrinsics.h 8header-y += intrinsics.h
@@ -12,5 +11,6 @@ header-y += ptrace_offsets.h
12header-y += rse.h 11header-y += rse.h
13header-y += ucontext.h 12header-y += ucontext.h
14 13
14unifdef-y += gcc_intrin.h
15unifdef-y += perfmon.h 15unifdef-y += perfmon.h
16unifdef-y += ustack.h 16unifdef-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];
93struct irq_cfg { 93struct 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};
97extern spinlock_t vector_lock; 100extern spinlock_t vector_lock;
98extern struct irq_cfg irq_cfg[NR_IRQS]; 101extern struct irq_cfg irq_cfg[NR_IRQS];
@@ -106,12 +109,19 @@ extern int assign_irq_vector (int irq); /* allocate a free vector */
106extern void free_irq_vector (int vector); 109extern void free_irq_vector (int vector);
107extern int reserve_irq_vector (int vector); 110extern int reserve_irq_vector (int vector);
108extern void __setup_vector_irq(int cpu); 111extern void __setup_vector_irq(int cpu);
109extern int reassign_irq_vector(int irq, int cpu);
110extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect); 112extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect);
111extern void register_percpu_irq (ia64_vector vec, struct irqaction *action); 113extern void register_percpu_irq (ia64_vector vec, struct irqaction *action);
112extern int check_irq_used (int irq); 114extern int check_irq_used (int irq);
113extern void destroy_and_reserve_irq (unsigned int irq); 115extern void destroy_and_reserve_irq (unsigned int irq);
114 116
117#if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_DIG))
118extern int irq_prepare_move(int irq, int cpu);
119extern void irq_complete_move(unsigned int irq);
120#else
121static inline int irq_prepare_move(int irq, int cpu) { return 0; }
122static inline void irq_complete_move(unsigned int irq) {}
123#endif
124
115static inline void ia64_resend_irq(unsigned int vector) 125static 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
121extern int kprobes_fault_handler(struct pt_regs *regs, int trapnr); 120extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
122extern int kprobe_exceptions_notify(struct notifier_block *self, 121extern 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 */
126static inline void jprobe_return(void)
127{
128}
129extern void invalidate_stacked_regs(void); 124extern void invalidate_stacked_regs(void);
130extern void flush_register_stack(void); 125extern void flush_register_stack(void);
131extern void arch_remove_kprobe(struct kprobe *p); 126extern 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
807ia64_sal_physical_id_info(u16 *splid) 807ia64_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;