diff options
author | John Keller <jpk@sgi.com> | 2007-08-22 20:32:06 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2007-09-01 05:49:57 -0400 |
commit | 6e9de18120988388cdae5097c09e774416d58745 (patch) | |
tree | 04f7de7bee8d38a4e871970afda136bb5ac853be /include/asm-ia64 | |
parent | 1aac0b5739ae192ee812eee09625ebfc08c2d760 (diff) |
[IA64] SN: Add support for CPU disable
Add additional support for CPU disable on SN platforms.
Correctly setup the smp_affinity mask for I/O error IRQs.
Restrict the use of the feature to Altix 4000 and 450 systems
running with a CPU disable capable PROM, and do not allow disabling
of CPU 0.
Signed-off-by: John Keller <jpk@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/sn/arch.h | 1 | ||||
-rw-r--r-- | include/asm-ia64/sn/intr.h | 1 | ||||
-rw-r--r-- | include/asm-ia64/sn/sn_feature_sets.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-ia64/sn/arch.h b/include/asm-ia64/sn/arch.h index 16adc93d7a72..7caa1f44cd95 100644 --- a/include/asm-ia64/sn/arch.h +++ b/include/asm-ia64/sn/arch.h | |||
@@ -81,5 +81,6 @@ extern u8 sn_sharing_domain_size; | |||
81 | extern u8 sn_region_size; | 81 | extern u8 sn_region_size; |
82 | 82 | ||
83 | extern void sn_flush_all_caches(long addr, long bytes); | 83 | extern void sn_flush_all_caches(long addr, long bytes); |
84 | extern bool sn_cpu_disable_allowed(int cpu); | ||
84 | 85 | ||
85 | #endif /* _ASM_IA64_SN_ARCH_H */ | 86 | #endif /* _ASM_IA64_SN_ARCH_H */ |
diff --git a/include/asm-ia64/sn/intr.h b/include/asm-ia64/sn/intr.h index 12b54ddb06be..e0487aa97418 100644 --- a/include/asm-ia64/sn/intr.h +++ b/include/asm-ia64/sn/intr.h | |||
@@ -60,6 +60,7 @@ extern u64 sn_intr_alloc(nasid_t, int, | |||
60 | int, nasid_t, int); | 60 | int, nasid_t, int); |
61 | extern void sn_intr_free(nasid_t, int, struct sn_irq_info *); | 61 | extern void sn_intr_free(nasid_t, int, struct sn_irq_info *); |
62 | extern struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *, nasid_t, int); | 62 | extern struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *, nasid_t, int); |
63 | extern void sn_set_err_irq_affinity(unsigned int); | ||
63 | extern struct list_head **sn_irq_lh; | 64 | extern struct list_head **sn_irq_lh; |
64 | 65 | ||
65 | #define CPU_VECTOR_TO_IRQ(cpuid,vector) (vector) | 66 | #define CPU_VECTOR_TO_IRQ(cpuid,vector) (vector) |
diff --git a/include/asm-ia64/sn/sn_feature_sets.h b/include/asm-ia64/sn/sn_feature_sets.h index bfdc36273ed4..8e83ac117ace 100644 --- a/include/asm-ia64/sn/sn_feature_sets.h +++ b/include/asm-ia64/sn/sn_feature_sets.h | |||
@@ -31,6 +31,7 @@ extern int sn_prom_feature_available(int id); | |||
31 | #define PRF_PAL_CACHE_FLUSH_SAFE 0 | 31 | #define PRF_PAL_CACHE_FLUSH_SAFE 0 |
32 | #define PRF_DEVICE_FLUSH_LIST 1 | 32 | #define PRF_DEVICE_FLUSH_LIST 1 |
33 | #define PRF_HOTPLUG_SUPPORT 2 | 33 | #define PRF_HOTPLUG_SUPPORT 2 |
34 | #define PRF_CPU_DISABLE_SUPPORT 3 | ||
34 | 35 | ||
35 | /* --------------------- OS Features -------------------------------*/ | 36 | /* --------------------- OS Features -------------------------------*/ |
36 | 37 | ||