Revert "Use broadcast SIPI to startup siblings"

This reverts commit 042c1461fb.

It turned out that sending IPIs via broadcast doesn't work on
Sandybridge. We tried to come up with a solution, but didn't
found any so far. So revert the code for now until we have
a working solution.

Change-Id: I7dd1cba5a4c1e4b0af366b20e8263b1f6f4b9714
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/1381
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Sven Schnelle
2012-07-29 19:18:03 +02:00
committed by Ronald G. Minnich
parent a2701c6005
commit 51676b14e8
25 changed files with 510 additions and 127 deletions

View File

@@ -4,12 +4,10 @@
#include <arch/cpu.h>
#if !defined(__ROMCC__)
void cpu_initialize(struct bus *cpu_bus, int index);
void cpu_initialize(void);
struct bus;
void initialize_cpus(struct bus *cpu_bus);
void secondary_cpu_init(int index);
extern unsigned int cpucount;
void secondary_cpu_init(void);
#if !CONFIG_WAIT_BEFORE_CPUS_INIT
#define cpus_ready_for_init() do {} while(0)

View File

@@ -52,13 +52,20 @@ static inline __attribute__((always_inline)) unsigned long lapicid(void)
}
#ifndef __ROMCC__
#if CONFIG_AP_IN_SIPI_WAIT != 1
/* If we need to go back to sipi wait, we use the long non-inlined version of
* this function in lapic_cpu_init.c
*/
static inline __attribute__((always_inline)) void stop_this_cpu(void)
{
/* Called by an AP when it is ready to halt and wait for a new task */
for(;;) {
hlt();
}
/* Called by an AP when it is ready to halt and wait for a new task */
for(;;) {
hlt();
}
}
#else
void stop_this_cpu(void);
#endif
#if !defined(__PRE_RAM__)

View File

@@ -41,7 +41,6 @@ struct apic_path
unsigned apic_id;
unsigned node_id;
unsigned core_id;
unsigned index;
};
struct ioapic_path