Bootblock does not need a unique boot_cpu()
Detection of a CPU being a BSP CPU is not dependent of the existence of northbridge and/or southbridge init code in the bootblock. Even if CONFIG_LOGICAL_CPUS==0, boot_cpu() can get executed on an AP CPU of a hyper-threading CPU and needs to return actual BSP bit from MSR. Change-Id: I9187f954bb357ba1dbd459cfe11cc96cb7567968 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/447 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
parent
7519d77f72
commit
eafb18be43
|
@ -1,9 +1,4 @@
|
|||
#if CONFIG_LOGICAL_CPUS && \
|
||||
(defined(CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT) || defined(CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT))
|
||||
#include <cpu/x86/lapic/boot_cpu.c>
|
||||
#else
|
||||
#define boot_cpu(x) 1
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BOOTBLOCK_CPU_INIT
|
||||
#include CONFIG_BOOTBLOCK_CPU_INIT
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include <cpu/x86/msr.h>
|
||||
|
||||
#if CONFIG_SMP
|
||||
static int boot_cpu(void)
|
||||
{
|
||||
int bsp;
|
||||
|
@ -8,3 +9,7 @@ static int boot_cpu(void)
|
|||
bsp = !!(msr.lo & (1 << 8));
|
||||
return bsp;
|
||||
}
|
||||
#else
|
||||
#define boot_cpu(x) 1
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue