summaryrefslogtreecommitdiffstats
path: root/arch/x86/mach-generic
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-28 06:50:47 +0100
committerIngo Molnar <mingo@elte.hu>2009-01-28 23:20:20 +0100
commite2d40b1878bd13ca1028ddd299c48e4821ac3535 (patch)
tree6b2a69b3323346137e7146537edd1118dcce7862 /arch/x86/mach-generic
parent2e867b17cc02e1799f18126af0ddd7b63dd8f6f4 (diff)
x86, apic: clean up ->vector_allocation_domain()
- separate the namespace - remove macros - move the default vector-allocation-domain to mach-generic - fix whitespace damage Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mach-generic')
-rw-r--r--arch/x86/mach-generic/bigsmp.c4
-rw-r--r--arch/x86/mach-generic/default.c16
-rw-r--r--arch/x86/mach-generic/es7000.c4
-rw-r--r--arch/x86/mach-generic/numaq.c4
-rw-r--r--arch/x86/mach-generic/summit.c4
5 files changed, 23 insertions, 9 deletions
diff --git a/arch/x86/mach-generic/bigsmp.c b/arch/x86/mach-generic/bigsmp.c
index 6da251aa9f4..391cc99cd21 100644
--- a/arch/x86/mach-generic/bigsmp.c
+++ b/arch/x86/mach-generic/bigsmp.c
@@ -42,7 +42,7 @@ static const struct dmi_system_id bigsmp_dmi_table[] = {
{ }
};
-static void vector_allocation_domain(int cpu, cpumask_t *retmask)
+static void bigsmp_vector_allocation_domain(int cpu, cpumask_t *retmask)
{
cpus_clear(*retmask);
cpu_set(cpu, *retmask);
@@ -74,7 +74,7 @@ struct genapic apic_bigsmp = {
.check_apicid_used = bigsmp_check_apicid_used,
.check_apicid_present = bigsmp_check_apicid_present,
- .vector_allocation_domain = vector_allocation_domain,
+ .vector_allocation_domain = bigsmp_vector_allocation_domain,
.init_apic_ldr = init_apic_ldr,
.ioapic_phys_id_map = ioapic_phys_id_map,
diff --git a/arch/x86/mach-generic/default.c b/arch/x86/mach-generic/default.c
index e89e8c9dd68..6adc3c69a3c 100644
--- a/arch/x86/mach-generic/default.c
+++ b/arch/x86/mach-generic/default.c
@@ -18,6 +18,20 @@
#include <asm/mach-default/mach_mpparse.h>
#include <asm/mach-default/mach_wakecpu.h>
+static void default_vector_allocation_domain(int cpu, struct cpumask *retmask)
+{
+ /*
+ * Careful. Some cpus do not strictly honor the set of cpus
+ * specified in the interrupt destination when using lowest
+ * priority interrupt delivery mode.
+ *
+ * In particular there was a hyperthreading cpu observed to
+ * deliver interrupts to the wrong hyperthread when only one
+ * hyperthread was specified in the interrupt desitination.
+ */
+ *retmask = (cpumask_t) { { [0] = APIC_ALL_CPUS } };
+}
+
/* should be called last. */
static int probe_default(void)
{
@@ -41,7 +55,7 @@ struct genapic apic_default = {
.check_apicid_used = default_check_apicid_used,
.check_apicid_present = default_check_apicid_present,
- .vector_allocation_domain = vector_allocation_domain,
+ .vector_allocation_domain = default_vector_allocation_domain,
.init_apic_ldr = init_apic_ldr,
.ioapic_phys_id_map = ioapic_phys_id_map,
diff --git a/arch/x86/mach-generic/es7000.c b/arch/x86/mach-generic/es7000.c
index 8e9eeecf7e2..bc1f21cd6a4 100644
--- a/arch/x86/mach-generic/es7000.c
+++ b/arch/x86/mach-generic/es7000.c
@@ -86,7 +86,7 @@ static int __init es7000_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
}
#endif
-static void vector_allocation_domain(int cpu, cpumask_t *retmask)
+static void es7000_vector_allocation_domain(int cpu, cpumask_t *retmask)
{
/* Careful. Some cpus do not strictly honor the set of cpus
* specified in the interrupt destination when using lowest
@@ -116,7 +116,7 @@ struct genapic apic_es7000 = {
.check_apicid_used = es7000_check_apicid_used,
.check_apicid_present = es7000_check_apicid_present,
- .vector_allocation_domain = vector_allocation_domain,
+ .vector_allocation_domain = es7000_vector_allocation_domain,
.init_apic_ldr = init_apic_ldr,
.ioapic_phys_id_map = ioapic_phys_id_map,
diff --git a/arch/x86/mach-generic/numaq.c b/arch/x86/mach-generic/numaq.c
index f909189fee3..712882f48c4 100644
--- a/arch/x86/mach-generic/numaq.c
+++ b/arch/x86/mach-generic/numaq.c
@@ -31,7 +31,7 @@ static int probe_numaq(void)
return found_numaq;
}
-static void vector_allocation_domain(int cpu, cpumask_t *retmask)
+static void numaq_vector_allocation_domain(int cpu, cpumask_t *retmask)
{
/* Careful. Some cpus do not strictly honor the set of cpus
* specified in the interrupt destination when using lowest
@@ -61,7 +61,7 @@ struct genapic apic_numaq = {
.check_apicid_used = numaq_check_apicid_used,
.check_apicid_present = numaq_check_apicid_present,
- .vector_allocation_domain = vector_allocation_domain,
+ .vector_allocation_domain = numaq_vector_allocation_domain,
.init_apic_ldr = init_apic_ldr,
.ioapic_phys_id_map = ioapic_phys_id_map,
diff --git a/arch/x86/mach-generic/summit.c b/arch/x86/mach-generic/summit.c
index 99a9bea8d14..1834887b94a 100644
--- a/arch/x86/mach-generic/summit.c
+++ b/arch/x86/mach-generic/summit.c
@@ -24,7 +24,7 @@ static int probe_summit(void)
return 0;
}
-static void vector_allocation_domain(int cpu, cpumask_t *retmask)
+static void summit_vector_allocation_domain(int cpu, cpumask_t *retmask)
{
/* Careful. Some cpus do not strictly honor the set of cpus
* specified in the interrupt destination when using lowest
@@ -54,7 +54,7 @@ struct genapic apic_summit = {
.check_apicid_used = summit_check_apicid_used,
.check_apicid_present = summit_check_apicid_present,
- .vector_allocation_domain = vector_allocation_domain,
+ .vector_allocation_domain = summit_vector_allocation_domain,
.init_apic_ldr = init_apic_ldr,
.ioapic_phys_id_map = ioapic_phys_id_map,