mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-11 16:36:49 +07:00
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:
parent
5257c5111c
commit
a21769a446
@ -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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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;
|
|||||||
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)
|
|||||||
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);
|
||||||
|
@ -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)
|
|||||||
* 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)
|
|||||||
#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 = {
|
|||||||
.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,
|
||||||
|
@ -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 = {
|
|||||||
.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 = {
|
|||||||
.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)
|
|||||||
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 = {
|
|||||||
.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 = {
|
|||||||
.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 = {
|
|||||||
.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 = {
|
|||||||
.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 = {
|
|||||||
.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,
|
||||||
|
Loading…
Reference in New Issue
Block a user