#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,