diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2014-01-26 14:41:54 +0200 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2014-02-11 21:55:30 +0100 |
commit | 5a5c886b8d7b191f6d2842af84e3dcfa3e3a6e39 (patch) | |
tree | 230d24c4898c9dbbde72e8940cd3af53095ef0a2 /src | |
parent | 972d5cf040aebbb8052767a4a88ad99a961ad2bf (diff) |
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>
Reviewed-on: http://review.coreboot.org/5156
Tested-by: build bot (Jenkins)
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/armv7/bootblock_simple.c | 11 | ||||
-rw-r--r-- | src/arch/x86/init/bootblock_normal.c | 1 | ||||
-rw-r--r-- | src/arch/x86/init/bootblock_simple.c | 1 | ||||
-rw-r--r-- | src/arch/x86/lib/romstage_console.c | 5 | ||||
-rw-r--r-- | src/cpu/x86/lapic/boot_cpu.c | 2 | ||||
-rw-r--r-- | src/include/cpu/x86/lapic.h | 7 | ||||
-rw-r--r-- | src/include/smp/node.h | 10 | ||||
-rw-r--r-- | 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 6ed63ce1d0..2c8e05394c 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 82bad53d17..f227e8e9dd 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 204636e072..34f55cac35 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 0eb3dc2779..68b10eb8af 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 308b0876b3..5643bd9cd0 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 96b5891918..3d5046ee91 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 0000000000..4e45c46bd9 --- /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 678f38e094..f0ee48df72 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 |