x86/voyager: fix boot breakage caused by x86: boot secondary cpus through initial_code
Impact: boot up secondary CPUs as well on x86/Voyager systems
This commit:
| commit 3e9704739d
| Author: Glauber Costa <gcosta@redhat.com>
| Date: Wed May 28 13:01:54 2008 -0300
|
| x86: boot secondary cpus through initial_code
removed the use of initialize_secondary. However, it didn't update
voyager, so the secondary cpus no longer boot. Fix this by adding the
initial_code switch to voyager as well.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
c08b6acc9b
commit
08c3330857
@@ -90,6 +90,7 @@ static void ack_vic_irq(unsigned int irq);
|
|||||||
static void vic_enable_cpi(void);
|
static void vic_enable_cpi(void);
|
||||||
static void do_boot_cpu(__u8 cpuid);
|
static void do_boot_cpu(__u8 cpuid);
|
||||||
static void do_quad_bootstrap(void);
|
static void do_quad_bootstrap(void);
|
||||||
|
static void initialize_secondary(void);
|
||||||
|
|
||||||
int hard_smp_processor_id(void);
|
int hard_smp_processor_id(void);
|
||||||
int safe_smp_processor_id(void);
|
int safe_smp_processor_id(void);
|
||||||
@@ -650,6 +651,8 @@ void __init smp_boot_cpus(void)
|
|||||||
smp_tune_scheduling();
|
smp_tune_scheduling();
|
||||||
*/
|
*/
|
||||||
smp_store_cpu_info(boot_cpu_id);
|
smp_store_cpu_info(boot_cpu_id);
|
||||||
|
/* setup the jump vector */
|
||||||
|
initial_code = (unsigned long)initialize_secondary;
|
||||||
printk("CPU%d: ", boot_cpu_id);
|
printk("CPU%d: ", boot_cpu_id);
|
||||||
print_cpu_info(&cpu_data(boot_cpu_id));
|
print_cpu_info(&cpu_data(boot_cpu_id));
|
||||||
|
|
||||||
@@ -702,7 +705,7 @@ void __init smp_boot_cpus(void)
|
|||||||
|
|
||||||
/* Reload the secondary CPUs task structure (this function does not
|
/* Reload the secondary CPUs task structure (this function does not
|
||||||
* return ) */
|
* return ) */
|
||||||
void __init initialize_secondary(void)
|
static void __init initialize_secondary(void)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
// AC kernels only
|
// AC kernels only
|
||||||
|
Reference in New Issue
Block a user