mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
Made changes to allow one cpu to be plugged into a SMP board.
This commit is contained in:
parent
8cdc0de093
commit
ec2d28a287
1 changed files with 14 additions and 13 deletions
|
@ -162,10 +162,17 @@ static void wait_for_other_cpus(void)
|
|||
}
|
||||
for(i = 0; i < MAX_CPUS; i++) {
|
||||
if (!(processor_map[i] & CPU_ENABLED)) {
|
||||
printk_err("CPU %d/%u did not initialize!\n",
|
||||
i, initial_apicid[i]);
|
||||
processor_map[i] = 0;
|
||||
mainboard_cpu_fixup(i);
|
||||
if(initial_apicid[i] == -1) {
|
||||
printk_err("CPU %d is not installed\n",
|
||||
i);
|
||||
processor_map[i] = 0;
|
||||
}
|
||||
else {
|
||||
printk_err("CPU %d/%u did not initialize!\n",
|
||||
i, initial_apicid[i]);
|
||||
processor_map[i] = 0;
|
||||
mainboard_cpu_fixup(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
printk_debug("All AP CPUs stopped\n");
|
||||
|
@ -237,9 +244,6 @@ void write_tables(struct mem_range *mem)
|
|||
|
||||
void hardwaremain(int boot_complete)
|
||||
{
|
||||
#if CONFIG_ASSIGNIRQ == 1
|
||||
void assignirq(void);
|
||||
#endif
|
||||
/* Processor ID of the BOOT cpu (i.e. the one running this code) */
|
||||
unsigned long boot_cpu;
|
||||
int boot_index;
|
||||
|
@ -326,6 +330,9 @@ void hardwaremain(int boot_complete)
|
|||
printk_spew("BOOT CPU is %d\n", boot_cpu);
|
||||
processor_map[boot_index] = CPU_BOOTPROCESSOR|CPU_ENABLED;
|
||||
|
||||
// generic mainboard fixup
|
||||
mainboard_fixup();
|
||||
|
||||
/* Now start the other cpus initializing
|
||||
* The sooner they start the sooner they stop.
|
||||
*/
|
||||
|
@ -333,9 +340,6 @@ void hardwaremain(int boot_complete)
|
|||
startup_other_cpus(processor_map);
|
||||
post_code(0x77);
|
||||
|
||||
// generic mainboard fixup
|
||||
mainboard_fixup();
|
||||
|
||||
#ifndef MAINBOARD_FIXUP_IN_CHARGE
|
||||
|
||||
post_code(0x91);
|
||||
|
@ -361,9 +365,6 @@ void hardwaremain(int boot_complete)
|
|||
|
||||
/* to do: intel_serial_on(); */
|
||||
final_mainboard_fixup();
|
||||
#if CONFIG_ASSIGNIRQ == 1
|
||||
assignirq();
|
||||
#endif
|
||||
post_code(0xec);
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue