const struct genapic __initconst_cf_clobber apic_bigsmp = {
APIC_INIT("bigsmp", probe_bigsmp),
- GENAPIC_PHYS
+ .int_delivery_mode = dest_Fixed,
+ .int_dest_mode = 0, /* physical delivery */
+ .init_apic_ldr = init_apic_ldr_phys,
+ .vector_allocation_cpumask = vector_allocation_cpumask_phys,
+ .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
+ .send_IPI_mask = send_IPI_mask_phys,
+ .send_IPI_self = send_IPI_self_legacy
};
/* should be called last. */
const struct genapic __initconst_cf_clobber apic_default = {
APIC_INIT("default", NULL),
- GENAPIC_FLAT
+ .int_delivery_mode = dest_Fixed,
+ .int_dest_mode = 0, /* physical delivery */
+ .init_apic_ldr = init_apic_ldr_flat,
+ .vector_allocation_cpumask = vector_allocation_cpumask_phys,
+ .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
+ .send_IPI_mask = send_IPI_mask_flat,
+ .send_IPI_self = send_IPI_self_legacy
};
apic_write(APIC_LDR, val);
}
-const cpumask_t *cf_check vector_allocation_cpumask_flat(int cpu)
-{
- return &cpu_online_map;
-}
-
-unsigned int cf_check cpu_mask_to_apicid_flat(const cpumask_t *cpumask)
-{
- return cpumask_bits(cpumask)[0]&0xFF;
-}
-
/*
* PHYSICAL DELIVERY MODE (unicast to physical APIC IDs).
*/
void cf_check send_IPI_self_legacy(uint8_t vector);
void cf_check init_apic_ldr_flat(void);
-unsigned int cf_check cpu_mask_to_apicid_flat(const cpumask_t *cpumask);
void cf_check send_IPI_mask_flat(const cpumask_t *cpumask, int vector);
-const cpumask_t *cf_check vector_allocation_cpumask_flat(int cpu);
-#define GENAPIC_FLAT \
- .int_delivery_mode = dest_LowestPrio, \
- .int_dest_mode = 1 /* logical delivery */, \
- .init_apic_ldr = init_apic_ldr_flat, \
- .vector_allocation_cpumask = vector_allocation_cpumask_flat, \
- .cpu_mask_to_apicid = cpu_mask_to_apicid_flat, \
- .send_IPI_mask = send_IPI_mask_flat, \
- .send_IPI_self = send_IPI_self_legacy
void cf_check init_apic_ldr_phys(void);
unsigned int cf_check cpu_mask_to_apicid_phys(const cpumask_t *cpumask);
void cf_check send_IPI_mask_phys(const cpumask_t *mask, int vector);
const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu);
-#define GENAPIC_PHYS \
- .int_delivery_mode = dest_Fixed, \
- .int_dest_mode = 0 /* physical delivery */, \
- .init_apic_ldr = init_apic_ldr_phys, \
- .vector_allocation_cpumask = vector_allocation_cpumask_phys, \
- .cpu_mask_to_apicid = cpu_mask_to_apicid_phys, \
- .send_IPI_mask = send_IPI_mask_phys, \
- .send_IPI_self = send_IPI_self_legacy
#endif