x86: generalize boot_cpu_id
x86/Voyager can boot on non-zero processors. While that can probably be fixed by properly remapping the physical CPU IDs, keep boot_cpu_id for now for easier transition - and expand it to all of x86. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -238,10 +238,6 @@ config SMP
|
|||||||
|
|
||||||
If you don't know what to do here, say N.
|
If you don't know what to do here, say N.
|
||||||
|
|
||||||
config X86_HAS_BOOT_CPU_ID
|
|
||||||
def_bool y
|
|
||||||
depends on X86_VOYAGER
|
|
||||||
|
|
||||||
config SPARSE_IRQ
|
config SPARSE_IRQ
|
||||||
bool "Support sparse irq numbering"
|
bool "Support sparse irq numbering"
|
||||||
depends on PCI_MSI || HT_IRQ
|
depends on PCI_MSI || HT_IRQ
|
||||||
|
@@ -32,10 +32,6 @@ extern void arch_unregister_cpu(int);
|
|||||||
|
|
||||||
DECLARE_PER_CPU(int, cpu_state);
|
DECLARE_PER_CPU(int, cpu_state);
|
||||||
|
|
||||||
#ifdef CONFIG_X86_HAS_BOOT_CPU_ID
|
extern unsigned int boot_cpu_id;
|
||||||
extern unsigned char boot_cpu_id;
|
|
||||||
#else
|
|
||||||
#define boot_cpu_id 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_CPU_H */
|
#endif /* _ASM_X86_CPU_H */
|
||||||
|
@@ -112,6 +112,20 @@
|
|||||||
#define ARCH_SETUP
|
#define ARCH_SETUP
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
unsigned int boot_cpu_id __read_mostly;
|
||||||
|
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
|
int default_cpu_present_to_apicid(int mps_cpu)
|
||||||
|
{
|
||||||
|
return __default_cpu_present_to_apicid(mps_cpu);
|
||||||
|
}
|
||||||
|
|
||||||
|
int default_check_phys_apicid_present(int boot_cpu_physical_apicid)
|
||||||
|
{
|
||||||
|
return __default_check_phys_apicid_present(boot_cpu_physical_apicid);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_BOOT_PARAMS
|
#ifndef CONFIG_DEBUG_BOOT_PARAMS
|
||||||
struct boot_params __initdata boot_params;
|
struct boot_params __initdata boot_params;
|
||||||
#else
|
#else
|
||||||
|
@@ -905,18 +905,6 @@ do_rest:
|
|||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
int default_check_phys_apicid_present(int boot_cpu_physical_apicid)
|
|
||||||
{
|
|
||||||
return __default_check_phys_apicid_present(boot_cpu_physical_apicid);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int __cpuinit native_cpu_up(unsigned int cpu)
|
int __cpuinit native_cpu_up(unsigned int cpu)
|
||||||
{
|
{
|
||||||
int apicid = apic->cpu_present_to_apicid(cpu);
|
int apicid = apic->cpu_present_to_apicid(cpu);
|
||||||
|
Reference in New Issue
Block a user