return cpu_physical_id(cpu);
}
-static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
+static inline physid_mask_t bigsmp_ioapic_phys_id_map(physid_mask_t phys_map)
{
/* For clustered we don't have a good way to do this yet - hack */
return physids_promote(0xFFL);
#endif
}
-static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
+static inline physid_mask_t es7000_ioapic_phys_id_map(physid_mask_t phys_map)
{
/* For clustered we don't have a good way to do this yet - hack */
return physids_promote(0xff);
return physid_isset(bit, phys_cpu_present_map);
}
-static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
+static inline physid_mask_t default_ioapic_phys_id_map(physid_mask_t phys_map)
{
return phys_map;
}
#include <asm/genapic.h>
-#define ioapic_phys_id_map (apic->ioapic_phys_id_map)
#define setup_apic_routing (apic->setup_apic_routing)
#define multi_timer_check (apic->multi_timer_check)
#define apicid_to_node (apic->apicid_to_node)
return apic != 0 && irq == 0;
}
-static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
+static inline physid_mask_t numaq_ioapic_phys_id_map(physid_mask_t phys_map)
{
/* We don't have a good way to do this yet - hack */
return physids_promote(0xFUL);
return BAD_APICID;
}
-static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_id_map)
+static inline physid_mask_t
+ summit_ioapic_phys_id_map(physid_mask_t phys_id_map)
{
/* For clustered we don't have a good way to do this yet - hack */
return physids_promote(0x0F);
* This is broken; anything with a real cpu count has to
* circumvent this idiocy regardless.
*/
- phys_id_present_map = ioapic_phys_id_map(phys_cpu_present_map);
+ phys_id_present_map = apic->ioapic_phys_id_map(phys_cpu_present_map);
/*
* Set the IOAPIC ID to the value stored in the MPC table.
*/
if (physids_empty(apic_id_map))
- apic_id_map = ioapic_phys_id_map(phys_cpu_present_map);
+ apic_id_map = apic->ioapic_phys_id_map(phys_cpu_present_map);
spin_lock_irqsave(&ioapic_lock, flags);
reg_00.raw = io_apic_read(ioapic, 0);
.vector_allocation_domain = bigsmp_vector_allocation_domain,
.init_apic_ldr = bigsmp_init_apic_ldr,
- .ioapic_phys_id_map = ioapic_phys_id_map,
+ .ioapic_phys_id_map = bigsmp_ioapic_phys_id_map,
.setup_apic_routing = setup_apic_routing,
.multi_timer_check = multi_timer_check,
.apicid_to_node = apicid_to_node,
.vector_allocation_domain = default_vector_allocation_domain,
.init_apic_ldr = default_init_apic_ldr,
- .ioapic_phys_id_map = ioapic_phys_id_map,
+ .ioapic_phys_id_map = default_ioapic_phys_id_map,
.setup_apic_routing = setup_apic_routing,
.multi_timer_check = multi_timer_check,
.apicid_to_node = apicid_to_node,
.vector_allocation_domain = es7000_vector_allocation_domain,
.init_apic_ldr = es7000_init_apic_ldr,
- .ioapic_phys_id_map = ioapic_phys_id_map,
+ .ioapic_phys_id_map = es7000_ioapic_phys_id_map,
.setup_apic_routing = setup_apic_routing,
.multi_timer_check = multi_timer_check,
.apicid_to_node = apicid_to_node,
.vector_allocation_domain = numaq_vector_allocation_domain,
.init_apic_ldr = numaq_init_apic_ldr,
- .ioapic_phys_id_map = ioapic_phys_id_map,
+ .ioapic_phys_id_map = numaq_ioapic_phys_id_map,
.setup_apic_routing = setup_apic_routing,
.multi_timer_check = multi_timer_check,
.apicid_to_node = apicid_to_node,
.vector_allocation_domain = summit_vector_allocation_domain,
.init_apic_ldr = summit_init_apic_ldr,
- .ioapic_phys_id_map = ioapic_phys_id_map,
+ .ioapic_phys_id_map = summit_ioapic_phys_id_map,
.setup_apic_routing = setup_apic_routing,
.multi_timer_check = multi_timer_check,
.apicid_to_node = apicid_to_node,