diff options
author | Martin Roth <martinroth@google.com> | 2015-11-30 09:49:21 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2015-12-04 18:39:29 +0100 |
commit | 1b304cc23cd4e3a98a42cd72ffb5d1185321afa9 (patch) | |
tree | 8579f5ff2f267cd6177073d05969a31cf513fc22 /src | |
parent | b29bd27b065bbe91598b7f373413da54c6b21056 (diff) |
arch/x86/bootblock_normal: Update to use fewer registers
- Move initialization of entry to later in main.
- Make boot_mode an unsigned char - no need to use int.
- Remove unnecessary variable filenames.
- Only get and try to boot fallback once.
Change-Id: I823092c60dd8c2de0a36ec7fdbba3e68f6b7567a
Test: compiled.
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/12574
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/x86/bootblock_normal.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/arch/x86/bootblock_normal.c b/src/arch/x86/bootblock_normal.c index d5f03b7699..a6a877cdc6 100644 --- a/src/arch/x86/bootblock_normal.c +++ b/src/arch/x86/bootblock_normal.c @@ -10,9 +10,9 @@ static const char *get_fallback(const char *stagelist) { static void main(unsigned long bist) { - unsigned long entry; - int boot_mode; - const char *default_filenames = "normal/romstage\0fallback/romstage"; + u8 boot_mode; + const char *default_filenames = + "normal/romstage\0fallback/romstage"; if (boot_cpu()) { bootblock_mainboard_init(); @@ -30,22 +30,22 @@ static void main(unsigned long bist) boot_mode = boot_use_normal(cmos_read(RTC_BOOT_BYTE)); } - char *filenames = (char *)walkcbfs("coreboot-stages"); - if (!filenames) { - filenames = default_filenames; - } - char *normal_candidate = filenames; + char *normal_candidate = (char *)walkcbfs("coreboot-stages"); - if (boot_mode) - entry = findstage(normal_candidate); - else - entry = findstage(get_fallback(normal_candidate)); + if (!normal_candidate) + normal_candidate = default_filenames; - if (entry) call(entry, bist); + unsigned long entry; + + if (boot_mode) { + entry = findstage(normal_candidate); + if (entry) + call(entry, bist); + } - /* run fallback if normal can't be found */ entry = findstage(get_fallback(normal_candidate)); - if (entry) call(entry, bist); + if (entry) + call(entry, bist); /* duh. we're stuck */ halt(); |