提交 7ed248da 编写于 作者: I Ingo Molnar

x86: clean up apic->apic_id_registered() methods

Impact: cleanup

x86 subarchitectures each defined a "apic_id_registered()" method,
which could be an inline function depending on which subarch we build
for, and which was also the name of a genapic field.

Untangle this namespace spaghetti by giving each of the instances
a separate name.

Also remove wrapper macro obfuscation.
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 306db03b
......@@ -4,9 +4,9 @@
#define xapic_phys_to_log_apicid(cpu) (per_cpu(x86_bios_cpu_apicid, cpu))
#define esr_disable (1)
static inline int apic_id_registered(void)
static inline int bigsmp_apic_id_registered(void)
{
return (1);
return 1;
}
static inline const cpumask_t *target_cpus(void)
......
......@@ -6,9 +6,9 @@
#define xapic_phys_to_log_apicid(cpu) per_cpu(x86_bios_cpu_apicid, cpu)
#define esr_disable (1)
static inline int apic_id_registered(void)
static inline int es7000_apic_id_registered(void)
{
return (1);
return 1;
}
static inline const cpumask_t *target_cpus_cluster(void)
......
......@@ -25,7 +25,6 @@ static inline const struct cpumask *target_cpus(void)
#define INT_DELIVERY_MODE (apic->int_delivery_mode)
#define INT_DEST_MODE (apic->int_dest_mode)
#define TARGET_CPUS (apic->target_cpus())
#define apic_id_registered (apic->apic_id_registered)
#define init_apic_ldr (apic->init_apic_ldr)
#define cpu_mask_to_apicid (apic->cpu_mask_to_apicid)
#define cpu_mask_to_apicid_and (apic->cpu_mask_to_apicid_and)
......@@ -57,7 +56,7 @@ static inline void init_apic_ldr(void)
apic_write(APIC_LDR, val);
}
static inline int apic_id_registered(void)
static inline int default_apic_id_registered(void)
{
return physid_isset(read_apic_id(), phys_cpu_present_map);
}
......
......@@ -10,7 +10,6 @@
#undef APIC_DEST_LOGICAL
#define APIC_DEST_LOGICAL (apic->apic_destination_logical)
#define TARGET_CPUS (apic->target_cpus())
#define apic_id_registered (apic->apic_id_registered)
#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)
......
......@@ -28,7 +28,7 @@ static inline unsigned long check_apicid_present(int bit)
}
#define apicid_cluster(apicid) (apicid & 0xF0)
static inline int apic_id_registered(void)
static inline int numaq_apic_id_registered(void)
{
return 1;
}
......
......@@ -74,7 +74,7 @@ static inline int multi_timer_check(int apic, int irq)
return 0;
}
static inline int apic_id_registered(void)
static inline int summit_apic_id_registered(void)
{
return 1;
}
......
......@@ -1171,7 +1171,7 @@ void __cpuinit setup_local_APIC(void)
* Double-check whether this APIC is really registered.
* This is meaningless in clustered apic mode, so we skip it.
*/
if (!apic_id_registered())
if (!apic->apic_id_registered())
BUG();
/*
......
......@@ -62,7 +62,7 @@ struct genapic apic_bigsmp = {
.name = "bigsmp",
.probe = probe_bigsmp,
.acpi_madt_oem_check = NULL,
.apic_id_registered = apic_id_registered,
.apic_id_registered = bigsmp_apic_id_registered,
.int_delivery_mode = INT_DELIVERY_MODE,
.int_dest_mode = INT_DEST_MODE,
......
......@@ -29,7 +29,7 @@ struct genapic apic_default = {
.name = "default",
.probe = probe_default,
.acpi_madt_oem_check = NULL,
.apic_id_registered = apic_id_registered,
.apic_id_registered = default_apic_id_registered,
.int_delivery_mode = INT_DELIVERY_MODE,
.int_dest_mode = INT_DEST_MODE,
......
......@@ -105,7 +105,7 @@ struct genapic apic_es7000 = {
.name = "es7000",
.probe = probe_es7000,
.acpi_madt_oem_check = es7000_acpi_madt_oem_check,
.apic_id_registered = apic_id_registered,
.apic_id_registered = es7000_apic_id_registered,
.int_delivery_mode = INT_DELIVERY_MODE,
.int_dest_mode = INT_DEST_MODE,
......
......@@ -49,7 +49,7 @@ struct genapic apic_numaq = {
.name = "NUMAQ",
.probe = probe_numaq,
.acpi_madt_oem_check = NULL,
.apic_id_registered = apic_id_registered,
.apic_id_registered = numaq_apic_id_registered,
.int_delivery_mode = INT_DELIVERY_MODE,
.int_dest_mode = INT_DEST_MODE,
......
......@@ -42,7 +42,7 @@ struct genapic apic_summit = {
.name = "summit",
.probe = probe_summit,
.acpi_madt_oem_check = summit_acpi_madt_oem_check,
.apic_id_registered = apic_id_registered,
.apic_id_registered = summit_apic_id_registered,
.int_delivery_mode = INT_DELIVERY_MODE,
.int_dest_mode = INT_DEST_MODE,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册