mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-22 02:24:57 +08:00
x86: merge hard/logical_smp_processor_id
The code is now the same between i386 and x86_64. We already know what happens when it reaches this point: They go away from the arch-specific headers, and suddenly appears in the common header. Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
2ba95bcbe6
commit
1b00084386
@ -123,6 +123,33 @@ void smp_store_cpu_info(int id);
|
||||
# include "smp_64.h"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_X86_LOCAL_APIC
|
||||
|
||||
static inline int logical_smp_processor_id(void)
|
||||
{
|
||||
/* we don't want to mark this access volatile - bad code generation */
|
||||
return GET_APIC_LOGICAL_ID(*(u32 *)(APIC_BASE + APIC_LDR));
|
||||
}
|
||||
|
||||
# ifdef APIC_DEFINITION
|
||||
extern int hard_smp_processor_id(void);
|
||||
# else
|
||||
# include <mach_apicdef.h>
|
||||
static inline int hard_smp_processor_id(void)
|
||||
{
|
||||
/* we don't want to mark this access volatile - bad code generation */
|
||||
return GET_APIC_ID(*(u32 *)(APIC_BASE + APIC_ID));
|
||||
}
|
||||
# endif /* APIC_DEFINITION */
|
||||
|
||||
#else /* CONFIG_X86_LOCAL_APIC */
|
||||
|
||||
# ifndef CONFIG_SMP
|
||||
# define hard_smp_processor_id() 0
|
||||
# endif
|
||||
|
||||
#endif /* CONFIG_X86_LOCAL_APIC */
|
||||
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
extern void cpu_exit_clear(void);
|
||||
extern void cpu_uninit(void);
|
||||
|
@ -42,32 +42,5 @@ static inline int num_booting_cpus(void)
|
||||
#define safe_smp_processor_id() 0
|
||||
#endif /* !CONFIG_SMP */
|
||||
|
||||
#ifdef CONFIG_X86_LOCAL_APIC
|
||||
|
||||
static inline int logical_smp_processor_id(void)
|
||||
{
|
||||
/* we don't want to mark this access volatile - bad code generation */
|
||||
return GET_APIC_LOGICAL_ID(*(u32 *)(APIC_BASE + APIC_LDR));
|
||||
}
|
||||
|
||||
# ifdef APIC_DEFINITION
|
||||
extern int hard_smp_processor_id(void);
|
||||
# else
|
||||
# include <mach_apicdef.h>
|
||||
static inline int hard_smp_processor_id(void)
|
||||
{
|
||||
/* we don't want to mark this access volatile - bad code generation */
|
||||
return GET_APIC_ID(*(u32 *)(APIC_BASE + APIC_ID));
|
||||
}
|
||||
# endif /* APIC_DEFINITION */
|
||||
|
||||
#else /* CONFIG_X86_LOCAL_APIC */
|
||||
|
||||
# ifndef CONFIG_SMP
|
||||
# define hard_smp_processor_id() 0
|
||||
# endif
|
||||
|
||||
#endif /* CONFIG_X86_LOCAL_APIC */
|
||||
|
||||
#endif /* !ASSEMBLY */
|
||||
#endif
|
||||
|
@ -46,32 +46,5 @@ static inline int num_booting_cpus(void)
|
||||
|
||||
#define safe_smp_processor_id() smp_processor_id()
|
||||
|
||||
#ifdef CONFIG_X86_LOCAL_APIC
|
||||
|
||||
static inline int logical_smp_processor_id(void)
|
||||
{
|
||||
/* we don't want to mark this access volatile - bad code generation */
|
||||
return GET_APIC_LOGICAL_ID(*(u32 *)(APIC_BASE + APIC_LDR));
|
||||
}
|
||||
|
||||
# ifdef APIC_DEFINITION
|
||||
extern int hard_smp_processor_id(void);
|
||||
# else
|
||||
# include <mach_apicdef.h>
|
||||
static inline int hard_smp_processor_id(void)
|
||||
{
|
||||
/* we don't want to mark this access volatile - bad code generation */
|
||||
return GET_APIC_ID(*(u32 *)(APIC_BASE + APIC_ID));
|
||||
}
|
||||
# endif /* APIC_DEFINITION */
|
||||
|
||||
#else /* CONFIG_X86_LOCAL_APIC */
|
||||
|
||||
# ifndef CONFIG_SMP
|
||||
# define hard_smp_processor_id() 0
|
||||
# endif
|
||||
|
||||
#endif /* CONFIG_X86_LOCAL_APIC */
|
||||
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user