summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2012-11-14 08:01:44 +0200
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-11-30 00:57:58 +0100
commitf90224845d5a916863c3b060a58fd82ff8d6bec0 (patch)
tree2e12a1c5099903f6142995fec48365f447623682
parent90ca3b6bd7d7849898fe2363a9e6d0e002c95943 (diff)
Refactor bootblock initialisation
Makes it a bit easier to implement mainboard-specific behaviour while executing the bootblock. Change-Id: I04e87f89efb4fad1c0e20b62ea6a50329a286205 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/1844 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/arch/x86/include/bootblock_common.h20
-rw-r--r--src/arch/x86/init/bootblock_normal.c4
-rw-r--r--src/arch/x86/init/bootblock_simple.c4
3 files changed, 15 insertions, 13 deletions
diff --git a/src/arch/x86/include/bootblock_common.h b/src/arch/x86/include/bootblock_common.h
index 4a128bce68..bf325c4679 100644
--- a/src/arch/x86/include/bootblock_common.h
+++ b/src/arch/x86/include/bootblock_common.h
@@ -1,22 +1,28 @@
#include <cpu/x86/lapic/boot_cpu.c>
+#include <arch/cbfs.h>
#ifdef CONFIG_BOOTBLOCK_CPU_INIT
#include CONFIG_BOOTBLOCK_CPU_INIT
-#else
-static void bootblock_cpu_init(void) { }
#endif
#ifdef CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT
#include CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT
-#else
-static void bootblock_northbridge_init(void) { }
#endif
#ifdef CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT
#include CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT
-#else
-static void bootblock_southbridge_init(void) { }
#endif
-#include <arch/cbfs.h>
+static void bootblock_mainboard_init(void)
+{
+#ifdef CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT
+ bootblock_northbridge_init();
+#endif
+#ifdef CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT
+ bootblock_southbridge_init();
+#endif
+#ifdef CONFIG_BOOTBLOCK_CPU_INIT
+ bootblock_cpu_init();
+#endif
+}
#if CONFIG_USE_OPTION_TABLE
#include <pc80/mc146818rtc.h>
diff --git a/src/arch/x86/init/bootblock_normal.c b/src/arch/x86/init/bootblock_normal.c
index 19b3d5ad5f..82bad53d17 100644
--- a/src/arch/x86/init/bootblock_normal.c
+++ b/src/arch/x86/init/bootblock_normal.c
@@ -13,9 +13,7 @@ static void main(unsigned long bist)
const char *default_filenames = "normal/romstage\0fallback/romstage";
if (boot_cpu()) {
- bootblock_northbridge_init();
- bootblock_southbridge_init();
- bootblock_cpu_init();
+ bootblock_mainboard_init();
#if CONFIG_USE_OPTION_TABLE
sanitize_cmos();
diff --git a/src/arch/x86/init/bootblock_simple.c b/src/arch/x86/init/bootblock_simple.c
index fd9ba2289b..204636e072 100644
--- a/src/arch/x86/init/bootblock_simple.c
+++ b/src/arch/x86/init/bootblock_simple.c
@@ -3,9 +3,7 @@
static void main(unsigned long bist)
{
if (boot_cpu()) {
- bootblock_northbridge_init();
- bootblock_southbridge_init();
- bootblock_cpu_init();
+ bootblock_mainboard_init();
#if CONFIG_USE_OPTION_TABLE
sanitize_cmos();