#endif
}
-#undef APIC_DEST_LOGICAL
-#define APIC_DEST_LOGICAL 0
#define APIC_DFR_VALUE (APIC_DFR_FLAT)
#define NO_BALANCE_IRQ (0)
#define APIC_DFR_VALUE (APIC_DFR_FLAT)
#define NO_BALANCE_IRQ (0)
-#undef APIC_DEST_LOGICAL
-#define APIC_DEST_LOGICAL 0x0
static inline unsigned long check_apicid_used(physid_mask_t bitmap, int apicid)
{
#include <asm/genapic.h>
#define NO_BALANCE_IRQ (apic->no_balance_irq)
-#undef APIC_DEST_LOGICAL
-#define APIC_DEST_LOGICAL (apic->apic_destination_logical)
#define init_apic_ldr (apic->init_apic_ldr)
#define ioapic_phys_id_map (apic->ioapic_phys_id_map)
#define setup_apic_routing (apic->setup_apic_routing)
unsigned long flags;
local_irq_save(flags);
- __send_IPI_dest_field(mask, vector, APIC_DEST_LOGICAL);
+ __send_IPI_dest_field(mask, vector, apic->apic_destination_logical);
local_irq_restore(flags);
}
_flat_send_IPI_mask(mask, vector);
}
} else if (num_online_cpus() > 1) {
- __send_IPI_shortcut(APIC_DEST_ALLBUT, vector,APIC_DEST_LOGICAL);
+ __send_IPI_shortcut(APIC_DEST_ALLBUT, vector, apic->apic_destination_logical);
}
}
if (vector == NMI_VECTOR)
flat_send_IPI_mask(cpu_online_mask, vector);
else
- __send_IPI_shortcut(APIC_DEST_ALLINC, vector, APIC_DEST_LOGICAL);
+ __send_IPI_shortcut(APIC_DEST_ALLINC, vector, apic->apic_destination_logical);
}
static unsigned int get_apic_id(unsigned long x)
.apic_id_registered = flat_apic_id_registered,
.irq_delivery_mode = dest_LowestPrio,
- .irq_dest_mode = (APIC_DEST_LOGICAL != 0),
+ .irq_dest_mode = 1, /* logical */
.target_cpus = flat_target_cpus,
.disable_esr = 0,
- .apic_destination_logical = 0,
+ .apic_destination_logical = APIC_DEST_LOGICAL,
.check_apicid_used = NULL,
.check_apicid_present = NULL,
.apic_id_registered = flat_apic_id_registered,
.irq_delivery_mode = dest_Fixed,
- .irq_dest_mode = (APIC_DEST_PHYSICAL != 0),
+ .irq_dest_mode = 0, /* physical */
.target_cpus = physflat_target_cpus,
.disable_esr = 0,
for_each_cpu(query_cpu, mask)
__x2apic_send_IPI_dest(
per_cpu(x86_cpu_to_logical_apicid, query_cpu),
- vector, APIC_DEST_LOGICAL);
+ vector, apic->apic_destination_logical);
local_irq_restore(flags);
}
if (query_cpu != this_cpu)
__x2apic_send_IPI_dest(
per_cpu(x86_cpu_to_logical_apicid, query_cpu),
- vector, APIC_DEST_LOGICAL);
+ vector, apic->apic_destination_logical);
local_irq_restore(flags);
}
if (query_cpu != this_cpu)
__x2apic_send_IPI_dest(
per_cpu(x86_cpu_to_logical_apicid, query_cpu),
- vector, APIC_DEST_LOGICAL);
+ vector, apic->apic_destination_logical);
local_irq_restore(flags);
}
.apic_id_registered = x2apic_apic_id_registered,
.irq_delivery_mode = dest_LowestPrio,
- .irq_dest_mode = (APIC_DEST_LOGICAL != 0),
+ .irq_dest_mode = 1, /* logical */
.target_cpus = x2apic_target_cpus,
.disable_esr = 0,
- .apic_destination_logical = 0,
+ .apic_destination_logical = APIC_DEST_LOGICAL,
.check_apicid_used = NULL,
.check_apicid_present = NULL,
.apic_id_registered = x2apic_apic_id_registered,
.irq_delivery_mode = dest_Fixed,
- .irq_dest_mode = (APIC_DEST_PHYSICAL != 0),
+ .irq_dest_mode = 0, /* physical */
.target_cpus = x2apic_target_cpus,
.disable_esr = 0,
.apic_id_registered = uv_apic_id_registered,
.irq_delivery_mode = dest_Fixed,
- .irq_dest_mode = (APIC_DEST_PHYSICAL != 0),
+ .irq_dest_mode = 1, /* logical */
.target_cpus = uv_target_cpus,
.disable_esr = 0,
- .apic_destination_logical = 0,
+ .apic_destination_logical = APIC_DEST_LOGICAL,
.check_apicid_used = NULL,
.check_apicid_present = NULL,
* Wait for idle.
*/
apic_wait_icr_idle();
- cfg = APIC_DM_FIXED | APIC_DEST_SELF | vector | APIC_DEST_LOGICAL;
+ cfg = APIC_DM_FIXED | APIC_DEST_SELF | vector | apic->apic_destination_logical;
/*
* Send the IPI. The write to APIC_ICR fires this off.
*/
static inline int __prepare_ICR(unsigned int shortcut, int vector)
{
- unsigned int icr = shortcut | APIC_DEST_LOGICAL;
+ unsigned int icr = shortcut | apic->apic_destination_logical;
switch (vector) {
default:
/* Target chip */
/* Boot on the stack */
/* Kick the second */
- apic_icr_write(APIC_DM_NMI | APIC_DEST_LOGICAL, logical_apicid);
+ apic_icr_write(APIC_DM_NMI | apic->apic_destination_logical, logical_apicid);
pr_debug("Waiting for send to finish...\n");
send_status = safe_apic_wait_icr_idle();
.target_cpus = bigsmp_target_cpus,
.disable_esr = 1,
- .apic_destination_logical = APIC_DEST_LOGICAL,
+ .apic_destination_logical = 0,
.check_apicid_used = check_apicid_used,
.check_apicid_present = check_apicid_present,
.target_cpus = es7000_target_cpus,
.disable_esr = 1,
- .apic_destination_logical = APIC_DEST_LOGICAL,
+ .apic_destination_logical = 0,
.check_apicid_used = check_apicid_used,
.check_apicid_present = check_apicid_present,