diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2012-11-14 08:01:44 +0200 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2012-11-30 00:57:58 +0100 |
commit | f90224845d5a916863c3b060a58fd82ff8d6bec0 (patch) | |
tree | 2e12a1c5099903f6142995fec48365f447623682 | |
parent | 90ca3b6bd7d7849898fe2363a9e6d0e002c95943 (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.h | 20 | ||||
-rw-r--r-- | src/arch/x86/init/bootblock_normal.c | 4 | ||||
-rw-r--r-- | src/arch/x86/init/bootblock_simple.c | 4 |
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(); |