x86: use default_cpu_mask_to_apicid for 64bit
Impact: cleanup Use online_mask directly on 64bit too. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Rusty Russell <rusty@rustcorp.com.au> LKML-Reference: <49C94DAE.9070300@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
fa74c90733
Коммит
f56e503412
|
@ -489,10 +489,19 @@ static inline int default_apic_id_registered(void)
|
||||||
return physid_isset(read_apic_id(), phys_cpu_present_map);
|
return physid_isset(read_apic_id(), phys_cpu_present_map);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int default_phys_pkg_id(int cpuid_apic, int index_msb)
|
||||||
|
{
|
||||||
|
return cpuid_apic >> index_msb;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern int default_apicid_to_node(int logical_apicid);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline unsigned int
|
static inline unsigned int
|
||||||
default_cpu_mask_to_apicid(const struct cpumask *cpumask)
|
default_cpu_mask_to_apicid(const struct cpumask *cpumask)
|
||||||
{
|
{
|
||||||
return cpumask_bits(cpumask)[0];
|
return cpumask_bits(cpumask)[0] & APIC_ALL_CPUS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline unsigned int
|
static inline unsigned int
|
||||||
|
@ -506,15 +515,6 @@ default_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
|
||||||
return (unsigned int)(mask1 & mask2 & mask3);
|
return (unsigned int)(mask1 & mask2 & mask3);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int default_phys_pkg_id(int cpuid_apic, int index_msb)
|
|
||||||
{
|
|
||||||
return cpuid_apic >> index_msb;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern int default_apicid_to_node(int logical_apicid);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline unsigned long default_check_apicid_used(physid_mask_t bitmap, int apicid)
|
static inline unsigned long default_check_apicid_used(physid_mask_t bitmap, int apicid)
|
||||||
{
|
{
|
||||||
return physid_isset(apicid, bitmap);
|
return physid_isset(apicid, bitmap);
|
||||||
|
|
|
@ -159,20 +159,6 @@ static int flat_apic_id_registered(void)
|
||||||
return physid_isset(read_xapic_id(), phys_cpu_present_map);
|
return physid_isset(read_xapic_id(), phys_cpu_present_map);
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int flat_cpu_mask_to_apicid(const struct cpumask *cpumask)
|
|
||||||
{
|
|
||||||
return cpumask_bits(cpumask)[0] & APIC_ALL_CPUS;
|
|
||||||
}
|
|
||||||
|
|
||||||
static unsigned int flat_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
|
|
||||||
const struct cpumask *andmask)
|
|
||||||
{
|
|
||||||
unsigned long mask1 = cpumask_bits(cpumask)[0] & APIC_ALL_CPUS;
|
|
||||||
unsigned long mask2 = cpumask_bits(andmask)[0] & APIC_ALL_CPUS;
|
|
||||||
|
|
||||||
return mask1 & mask2;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int flat_phys_pkg_id(int initial_apic_id, int index_msb)
|
static int flat_phys_pkg_id(int initial_apic_id, int index_msb)
|
||||||
{
|
{
|
||||||
return hard_smp_processor_id() >> index_msb;
|
return hard_smp_processor_id() >> index_msb;
|
||||||
|
@ -213,8 +199,8 @@ struct apic apic_flat = {
|
||||||
.set_apic_id = set_apic_id,
|
.set_apic_id = set_apic_id,
|
||||||
.apic_id_mask = 0xFFu << 24,
|
.apic_id_mask = 0xFFu << 24,
|
||||||
|
|
||||||
.cpu_mask_to_apicid = flat_cpu_mask_to_apicid,
|
.cpu_mask_to_apicid = default_cpu_mask_to_apicid,
|
||||||
.cpu_mask_to_apicid_and = flat_cpu_mask_to_apicid_and,
|
.cpu_mask_to_apicid_and = default_cpu_mask_to_apicid_and,
|
||||||
|
|
||||||
.send_IPI_mask = flat_send_IPI_mask,
|
.send_IPI_mask = flat_send_IPI_mask,
|
||||||
.send_IPI_mask_allbutself = flat_send_IPI_mask_allbutself,
|
.send_IPI_mask_allbutself = flat_send_IPI_mask_allbutself,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче