Kyösti Mälkki (kyosti.malkki@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5156
-gerrit
commit 452390b0fe6452fbfa0beaff65dce3ff81f130ea Author: Kyösti Mälkki kyosti.malkki@gmail.com Date: Sun Jan 26 14:41:54 2014 +0200
SMP: Add arch-agnostic boot_cpu()
We should not have x86 specific includes in lib/.
Change-Id: I18fa9c8017d65c166ffd465038d71f35b30d6f3d Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- src/arch/armv7/bootblock_simple.c | 11 +---------- src/arch/x86/init/bootblock_normal.c | 1 + src/arch/x86/init/bootblock_simple.c | 1 + src/arch/x86/lib/romstage_console.c | 5 ++--- src/cpu/x86/lapic/boot_cpu.c | 2 +- src/include/cpu/x86/lapic.h | 7 +------ src/include/smp/node.h | 10 ++++++++++ src/lib/timestamp.c | 2 +- 8 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/src/arch/armv7/bootblock_simple.c b/src/arch/armv7/bootblock_simple.c index 6ed63ce..2c8e053 100644 --- a/src/arch/armv7/bootblock_simple.c +++ b/src/arch/armv7/bootblock_simple.c @@ -25,19 +25,10 @@ #include <arch/stages.h> #include <cbfs.h> #include <console/console.h> +#include <smp/node.h>
#include "stages.c"
-static int boot_cpu(void) -{ - /* - * FIXME: This is a stub for now. All non-boot CPUs should be - * waiting for an interrupt. We could move the chunk of assembly - * which puts them to sleep in here... - */ - return 1; -} - void main(void) { const char *stage_name = "fallback/romstage"; diff --git a/src/arch/x86/init/bootblock_normal.c b/src/arch/x86/init/bootblock_normal.c index 82bad53..f227e8e 100644 --- a/src/arch/x86/init/bootblock_normal.c +++ b/src/arch/x86/init/bootblock_normal.c @@ -1,3 +1,4 @@ +#include <smp/node.h> #include <bootblock_common.h> #include <pc80/mc146818rtc.h>
diff --git a/src/arch/x86/init/bootblock_simple.c b/src/arch/x86/init/bootblock_simple.c index 204636e..34f55ca 100644 --- a/src/arch/x86/init/bootblock_simple.c +++ b/src/arch/x86/init/bootblock_simple.c @@ -1,3 +1,4 @@ +#include <smp/node.h> #include <bootblock_common.h>
static void main(unsigned long bist) diff --git a/src/arch/x86/lib/romstage_console.c b/src/arch/x86/lib/romstage_console.c index 0eb3dc2..68b10eb 100644 --- a/src/arch/x86/lib/romstage_console.c +++ b/src/arch/x86/lib/romstage_console.c @@ -17,8 +17,10 @@ * MA 02110-1301 USA */
+#include <smp/node.h> #include <console/console.h> #include <console/vtxprintf.h> + #if CONFIG_CONSOLE_SERIAL8250 || CONFIG_CONSOLE_SERIAL8250MEM #include <uart8250.h> #endif @@ -31,9 +33,6 @@ #if CONFIG_SPKMODEM #include <console/spkmodem.h> #endif -#if CONFIG_SQUELCH_EARLY_SMP -#include <cpu/x86/lapic.h> -#endif
void console_tx_byte(unsigned char byte) { diff --git a/src/cpu/x86/lapic/boot_cpu.c b/src/cpu/x86/lapic/boot_cpu.c index 308b087..5643bd9 100644 --- a/src/cpu/x86/lapic/boot_cpu.c +++ b/src/cpu/x86/lapic/boot_cpu.c @@ -1,4 +1,4 @@ -#include <cpu/x86/lapic.h> +#include <smp/node.h> #include <cpu/x86/msr.h>
#if CONFIG_SMP diff --git a/src/include/cpu/x86/lapic.h b/src/include/cpu/x86/lapic.h index 96b5891..3d5046e 100644 --- a/src/include/cpu/x86/lapic.h +++ b/src/include/cpu/x86/lapic.h @@ -4,6 +4,7 @@ #include <cpu/x86/lapic_def.h> #include <cpu/x86/msr.h> #include <arch/hlt.h> +#include <smp/node.h>
/* See if I need to initialize the local apic */ #if CONFIG_SMP || CONFIG_IOAPIC @@ -153,10 +154,4 @@ int start_cpu(struct device *cpu);
#endif /* !__PRE_RAM__ */
-#if CONFIG_SMP -int boot_cpu(void); -#else -#define boot_cpu(x) 1 -#endif - #endif /* CPU_X86_LAPIC_H */ diff --git a/src/include/smp/node.h b/src/include/smp/node.h new file mode 100644 index 0000000..4e45c46 --- /dev/null +++ b/src/include/smp/node.h @@ -0,0 +1,10 @@ +#ifndef _SMP_NODE_H_ +#define _SMP_NODE_H_ + +#if CONFIG_SMP +int boot_cpu(void); +#else +#define boot_cpu(x) 1 +#endif + +#endif /* _SMP_NODE_H_ */ diff --git a/src/lib/timestamp.c b/src/lib/timestamp.c index 678f38e..f0ee48d 100644 --- a/src/lib/timestamp.c +++ b/src/lib/timestamp.c @@ -23,7 +23,7 @@ #include <cbmem.h> #include <timestamp.h> #include <arch/early_variables.h> -#include <cpu/x86/lapic.h> +#include <smp/node.h>
#define MAX_TIMESTAMPS 30