提交 a21769a4 编写于 作者: I Ingo Molnar

x86, apic: clean up ->cpu_present_to_apicid()

- separate the namespace

 - remove macros
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 5257c511
...@@ -67,7 +67,7 @@ static inline int bigsmp_apicid_to_node(int logical_apicid) ...@@ -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);
......
...@@ -88,7 +88,7 @@ static inline int es7000_apicid_to_node(int logical_apicid) ...@@ -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;
......
...@@ -108,6 +108,8 @@ extern struct genapic apic_x2apic_uv_x; ...@@ -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 */
...@@ -110,7 +110,7 @@ static inline int default_cpu_to_logical_apicid(int cpu) ...@@ -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) ...@@ -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);
......
...@@ -3,7 +3,6 @@ ...@@ -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)
......
...@@ -69,7 +69,7 @@ static inline int numaq_cpu_to_logical_apicid(int cpu) ...@@ -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));
......
...@@ -96,7 +96,7 @@ static inline int summit_cpu_to_logical_apicid(int cpu) ...@@ -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);
......
...@@ -197,7 +197,7 @@ struct genapic apic_flat = { ...@@ -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 = { ...@@ -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,
......
...@@ -199,7 +199,7 @@ struct genapic apic_x2apic_cluster = { ...@@ -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,
......
...@@ -195,7 +195,7 @@ struct genapic apic_x2apic_phys = { ...@@ -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,
......
...@@ -260,7 +260,7 @@ struct genapic apic_x2apic_uv_x = { ...@@ -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,
......
...@@ -903,9 +903,16 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu) ...@@ -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;
......
...@@ -82,7 +82,7 @@ struct genapic apic_bigsmp = { ...@@ -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,
......
...@@ -63,7 +63,7 @@ struct genapic apic_default = { ...@@ -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,
......
...@@ -124,7 +124,7 @@ struct genapic apic_es7000 = { ...@@ -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,
......
...@@ -69,7 +69,7 @@ struct genapic apic_numaq = { ...@@ -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,
......
...@@ -62,7 +62,7 @@ struct genapic apic_summit = { ...@@ -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,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册