diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-04 19:39:23 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-04 19:39:23 -0500 |
commit | 71ca44dac4cbf89ce88e460a293cc25c5b18fa50 (patch) | |
tree | 199c54ee6ecfbdda0bf035df0257bbd278b97531 /include/asm-ia64 | |
parent | 2c6f2db13a2428aa16f54f50232a589ddd5d7d01 (diff) | |
parent | 9dad6f5785a9f113dbbd58951d2f5ef9abd06dcc (diff) |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] fix ia64 kprobes compilation
[IA64] move gcc_intrin.h from header-y to unifdef-y
[IA64] workaround tiger ia64_sal_get_physical_id_info hang
[IA64] move defconfig to arch/ia64/configs/
[IA64] Fix irq migration in multiple vector domain
[IA64] signal(ia64_ia32): add a signal stack overflow check
[IA64] signal(ia64): add a signal stack overflow check
[IA64] CONFIG_SGI_SN2 - auto select NUMA and ACPI_NUMA
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 | 4 | ||||
-rw-r--r-- | include/asm-ia64/sal.h | 4 |
4 files changed, 16 insertions, 6 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 adbaba14eb0a..8233b3a964c6 100644 --- a/include/asm-ia64/kprobes.h +++ b/include/asm-ia64/kprobes.h | |||
@@ -121,10 +121,6 @@ extern int kprobes_fault_handler(struct pt_regs *regs, int trapnr); | |||
121 | extern int kprobe_exceptions_notify(struct notifier_block *self, | 121 | extern int kprobe_exceptions_notify(struct notifier_block *self, |
122 | unsigned long val, void *data); | 122 | unsigned long val, void *data); |
123 | 123 | ||
124 | /* ia64 does not need this */ | ||
125 | static inline void jprobe_return(void) | ||
126 | { | ||
127 | } | ||
128 | extern void invalidate_stacked_regs(void); | 124 | extern void invalidate_stacked_regs(void); |
129 | extern void flush_register_stack(void); | 125 | extern void flush_register_stack(void); |
130 | extern void arch_remove_kprobe(struct kprobe *p); | 126 | extern void arch_remove_kprobe(struct kprobe *p); |
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; |