summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2015-11-30 09:49:21 -0700
committerMartin Roth <martinroth@google.com>2015-12-04 18:39:29 +0100
commit1b304cc23cd4e3a98a42cd72ffb5d1185321afa9 (patch)
tree8579f5ff2f267cd6177073d05969a31cf513fc22
parentb29bd27b065bbe91598b7f373413da54c6b21056 (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>
-rw-r--r--src/arch/x86/bootblock_normal.c30
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();