x86, apic: clean up ->cpu_present_to_apicid()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Ingo Molnar 2009-01-28 06:50:47 +01:00
parent 5257c5111c
commit a21769a446
17 changed files with 34 additions and 17 deletions

View File

@ -67,7 +67,7 @@ static inline int bigsmp_apicid_to_node(int logical_apicid)
return apicid_2_node[hard_smp_processor_id()]; return apicid_2_node[hard_smp_processor_id()];
} }
static inline int cpu_present_to_apicid(int mps_cpu) static inline int bigsmp_cpu_present_to_apicid(int mps_cpu)
{ {
if (mps_cpu < nr_cpu_ids) if (mps_cpu < nr_cpu_ids)
return (int) per_cpu(x86_bios_cpu_apicid, mps_cpu); return (int) per_cpu(x86_bios_cpu_apicid, mps_cpu);

View File

@ -88,7 +88,7 @@ static inline int es7000_apicid_to_node(int logical_apicid)
} }
static inline int cpu_present_to_apicid(int mps_cpu) static inline int es7000_cpu_present_to_apicid(int mps_cpu)
{ {
if (!mps_cpu) if (!mps_cpu)
return boot_cpu_physical_apicid; return boot_cpu_physical_apicid;

View File

@ -108,6 +108,8 @@ extern struct genapic apic_x2apic_uv_x;
DECLARE_PER_CPU(int, x2apic_extra_bits); DECLARE_PER_CPU(int, x2apic_extra_bits);
extern void default_setup_apic_routing(void); extern void default_setup_apic_routing(void);
extern int default_cpu_present_to_apicid(int mps_cpu);
#endif #endif
#endif /* _ASM_X86_GENAPIC_64_H */ #endif /* _ASM_X86_GENAPIC_64_H */

View File

@ -110,7 +110,7 @@ static inline int default_cpu_to_logical_apicid(int cpu)
return 1 << cpu; return 1 << cpu;
} }
static inline int cpu_present_to_apicid(int mps_cpu) static inline int __default_cpu_present_to_apicid(int mps_cpu)
{ {
if (mps_cpu < nr_cpu_ids && cpu_present(mps_cpu)) if (mps_cpu < nr_cpu_ids && cpu_present(mps_cpu))
return (int)per_cpu(x86_bios_cpu_apicid, mps_cpu); return (int)per_cpu(x86_bios_cpu_apicid, mps_cpu);
@ -118,6 +118,15 @@ static inline int cpu_present_to_apicid(int mps_cpu)
return BAD_APICID; return BAD_APICID;
} }
#ifdef CONFIG_X86_32
static inline int default_cpu_present_to_apicid(int mps_cpu)
{
return __default_cpu_present_to_apicid(mps_cpu);
}
#else
extern int default_cpu_present_to_apicid(int mps_cpu);
#endif
static inline physid_mask_t apicid_to_cpu_present(int phys_apicid) static inline physid_mask_t apicid_to_cpu_present(int phys_apicid)
{ {
return physid_mask_of_physid(phys_apicid); return physid_mask_of_physid(phys_apicid);

View File

@ -3,7 +3,6 @@
#include <asm/genapic.h> #include <asm/genapic.h>
#define cpu_present_to_apicid (apic->cpu_present_to_apicid)
#define apicid_to_cpu_present (apic->apicid_to_cpu_present) #define apicid_to_cpu_present (apic->apicid_to_cpu_present)
#define setup_portio_remap (apic->setup_portio_remap) #define setup_portio_remap (apic->setup_portio_remap)
#define check_phys_apicid_present (apic->check_phys_apicid_present) #define check_phys_apicid_present (apic->check_phys_apicid_present)

View File

@ -69,7 +69,7 @@ static inline int numaq_cpu_to_logical_apicid(int cpu)
* cpu to APIC ID relation to properly interact with the intelligent * cpu to APIC ID relation to properly interact with the intelligent
* mode of the cluster controller. * mode of the cluster controller.
*/ */
static inline int cpu_present_to_apicid(int mps_cpu) static inline int numaq_cpu_present_to_apicid(int mps_cpu)
{ {
if (mps_cpu < 60) if (mps_cpu < 60)
return ((mps_cpu >> 2) << 4) | (1 << (mps_cpu & 0x3)); return ((mps_cpu >> 2) << 4) | (1 << (mps_cpu & 0x3));

View File

@ -96,7 +96,7 @@ static inline int summit_cpu_to_logical_apicid(int cpu)
#endif #endif
} }
static inline int cpu_present_to_apicid(int mps_cpu) static inline int summit_cpu_present_to_apicid(int mps_cpu)
{ {
if (mps_cpu < nr_cpu_ids) if (mps_cpu < nr_cpu_ids)
return (int)per_cpu(x86_bios_cpu_apicid, mps_cpu); return (int)per_cpu(x86_bios_cpu_apicid, mps_cpu);

View File

@ -197,7 +197,7 @@ struct genapic apic_flat = {
.multi_timer_check = NULL, .multi_timer_check = NULL,
.apicid_to_node = NULL, .apicid_to_node = NULL,
.cpu_to_logical_apicid = NULL, .cpu_to_logical_apicid = NULL,
.cpu_present_to_apicid = NULL, .cpu_present_to_apicid = default_cpu_present_to_apicid,
.apicid_to_cpu_present = NULL, .apicid_to_cpu_present = NULL,
.setup_portio_remap = NULL, .setup_portio_remap = NULL,
.check_phys_apicid_present = NULL, .check_phys_apicid_present = NULL,
@ -341,7 +341,7 @@ struct genapic apic_physflat = {
.multi_timer_check = NULL, .multi_timer_check = NULL,
.apicid_to_node = NULL, .apicid_to_node = NULL,
.cpu_to_logical_apicid = NULL, .cpu_to_logical_apicid = NULL,
.cpu_present_to_apicid = NULL, .cpu_present_to_apicid = default_cpu_present_to_apicid,
.apicid_to_cpu_present = NULL, .apicid_to_cpu_present = NULL,
.setup_portio_remap = NULL, .setup_portio_remap = NULL,
.check_phys_apicid_present = NULL, .check_phys_apicid_present = NULL,

View File

@ -199,7 +199,7 @@ struct genapic apic_x2apic_cluster = {
.multi_timer_check = NULL, .multi_timer_check = NULL,
.apicid_to_node = NULL, .apicid_to_node = NULL,
.cpu_to_logical_apicid = NULL, .cpu_to_logical_apicid = NULL,
.cpu_present_to_apicid = NULL, .cpu_present_to_apicid = default_cpu_present_to_apicid,
.apicid_to_cpu_present = NULL, .apicid_to_cpu_present = NULL,
.setup_portio_remap = NULL, .setup_portio_remap = NULL,
.check_phys_apicid_present = NULL, .check_phys_apicid_present = NULL,

View File

@ -195,7 +195,7 @@ struct genapic apic_x2apic_phys = {
.multi_timer_check = NULL, .multi_timer_check = NULL,
.apicid_to_node = NULL, .apicid_to_node = NULL,
.cpu_to_logical_apicid = NULL, .cpu_to_logical_apicid = NULL,
.cpu_present_to_apicid = NULL, .cpu_present_to_apicid = default_cpu_present_to_apicid,
.apicid_to_cpu_present = NULL, .apicid_to_cpu_present = NULL,
.setup_portio_remap = NULL, .setup_portio_remap = NULL,
.check_phys_apicid_present = NULL, .check_phys_apicid_present = NULL,

View File

@ -260,7 +260,7 @@ struct genapic apic_x2apic_uv_x = {
.multi_timer_check = NULL, .multi_timer_check = NULL,
.apicid_to_node = NULL, .apicid_to_node = NULL,
.cpu_to_logical_apicid = NULL, .cpu_to_logical_apicid = NULL,
.cpu_present_to_apicid = NULL, .cpu_present_to_apicid = default_cpu_present_to_apicid,
.apicid_to_cpu_present = NULL, .apicid_to_cpu_present = NULL,
.setup_portio_remap = NULL, .setup_portio_remap = NULL,
.check_phys_apicid_present = NULL, .check_phys_apicid_present = NULL,

View File

@ -903,9 +903,16 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
return boot_error; return boot_error;
} }
#ifdef CONFIG_X86_64
int default_cpu_present_to_apicid(int mps_cpu)
{
return __default_cpu_present_to_apicid(mps_cpu);
}
#endif
int __cpuinit native_cpu_up(unsigned int cpu) int __cpuinit native_cpu_up(unsigned int cpu)
{ {
int apicid = cpu_present_to_apicid(cpu); int apicid = apic->cpu_present_to_apicid(cpu);
unsigned long flags; unsigned long flags;
int err; int err;

View File

@ -82,7 +82,7 @@ struct genapic apic_bigsmp = {
.multi_timer_check = NULL, .multi_timer_check = NULL,
.apicid_to_node = bigsmp_apicid_to_node, .apicid_to_node = bigsmp_apicid_to_node,
.cpu_to_logical_apicid = bigsmp_cpu_to_logical_apicid, .cpu_to_logical_apicid = bigsmp_cpu_to_logical_apicid,
.cpu_present_to_apicid = cpu_present_to_apicid, .cpu_present_to_apicid = bigsmp_cpu_present_to_apicid,
.apicid_to_cpu_present = apicid_to_cpu_present, .apicid_to_cpu_present = apicid_to_cpu_present,
.setup_portio_remap = setup_portio_remap, .setup_portio_remap = setup_portio_remap,
.check_phys_apicid_present = check_phys_apicid_present, .check_phys_apicid_present = check_phys_apicid_present,

View File

@ -63,7 +63,7 @@ struct genapic apic_default = {
.multi_timer_check = NULL, .multi_timer_check = NULL,
.apicid_to_node = default_apicid_to_node, .apicid_to_node = default_apicid_to_node,
.cpu_to_logical_apicid = default_cpu_to_logical_apicid, .cpu_to_logical_apicid = default_cpu_to_logical_apicid,
.cpu_present_to_apicid = cpu_present_to_apicid, .cpu_present_to_apicid = default_cpu_present_to_apicid,
.apicid_to_cpu_present = apicid_to_cpu_present, .apicid_to_cpu_present = apicid_to_cpu_present,
.setup_portio_remap = setup_portio_remap, .setup_portio_remap = setup_portio_remap,
.check_phys_apicid_present = check_phys_apicid_present, .check_phys_apicid_present = check_phys_apicid_present,

View File

@ -124,7 +124,7 @@ struct genapic apic_es7000 = {
.multi_timer_check = NULL, .multi_timer_check = NULL,
.apicid_to_node = es7000_apicid_to_node, .apicid_to_node = es7000_apicid_to_node,
.cpu_to_logical_apicid = es7000_cpu_to_logical_apicid, .cpu_to_logical_apicid = es7000_cpu_to_logical_apicid,
.cpu_present_to_apicid = cpu_present_to_apicid, .cpu_present_to_apicid = es7000_cpu_present_to_apicid,
.apicid_to_cpu_present = apicid_to_cpu_present, .apicid_to_cpu_present = apicid_to_cpu_present,
.setup_portio_remap = setup_portio_remap, .setup_portio_remap = setup_portio_remap,
.check_phys_apicid_present = check_phys_apicid_present, .check_phys_apicid_present = check_phys_apicid_present,

View File

@ -69,7 +69,7 @@ struct genapic apic_numaq = {
.multi_timer_check = numaq_multi_timer_check, .multi_timer_check = numaq_multi_timer_check,
.apicid_to_node = numaq_apicid_to_node, .apicid_to_node = numaq_apicid_to_node,
.cpu_to_logical_apicid = numaq_cpu_to_logical_apicid, .cpu_to_logical_apicid = numaq_cpu_to_logical_apicid,
.cpu_present_to_apicid = cpu_present_to_apicid, .cpu_present_to_apicid = numaq_cpu_present_to_apicid,
.apicid_to_cpu_present = apicid_to_cpu_present, .apicid_to_cpu_present = apicid_to_cpu_present,
.setup_portio_remap = setup_portio_remap, .setup_portio_remap = setup_portio_remap,
.check_phys_apicid_present = check_phys_apicid_present, .check_phys_apicid_present = check_phys_apicid_present,

View File

@ -62,7 +62,7 @@ struct genapic apic_summit = {
.multi_timer_check = NULL, .multi_timer_check = NULL,
.apicid_to_node = summit_apicid_to_node, .apicid_to_node = summit_apicid_to_node,
.cpu_to_logical_apicid = summit_cpu_to_logical_apicid, .cpu_to_logical_apicid = summit_cpu_to_logical_apicid,
.cpu_present_to_apicid = cpu_present_to_apicid, .cpu_present_to_apicid = summit_cpu_present_to_apicid,
.apicid_to_cpu_present = apicid_to_cpu_present, .apicid_to_cpu_present = apicid_to_cpu_present,
.setup_portio_remap = setup_portio_remap, .setup_portio_remap = setup_portio_remap,
.check_phys_apicid_present = check_phys_apicid_present, .check_phys_apicid_present = check_phys_apicid_present,