lib/program_loaders.c: Mark run_ramstage with __noreturn
This allows the compiler to optimize out code called after run_ramstage. Also remove some die() statements in soc code as run_ramstage already has a die_with_postcode statement. Change-Id: Id8b841712661d3257b0dc67b509f97bdc31fcf6f Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/65811 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
committed by
Felix Held
parent
b95a821576
commit
84b2f9f5b8
@@ -152,7 +152,7 @@ enum cb_err legacy_romstage_select_and_load(struct prog *romstage);
|
|||||||
*/
|
*/
|
||||||
void preload_ramstage(void);
|
void preload_ramstage(void);
|
||||||
/* Run ramstage from romstage. */
|
/* Run ramstage from romstage. */
|
||||||
void run_ramstage(void);
|
void __noreturn run_ramstage(void);
|
||||||
|
|
||||||
/***********************
|
/***********************
|
||||||
* PAYLOAD LOADING *
|
* PAYLOAD LOADING *
|
||||||
|
@@ -82,7 +82,7 @@ void preload_ramstage(void)
|
|||||||
|
|
||||||
cbfs_preload(CONFIG_CBFS_PREFIX "/ramstage");
|
cbfs_preload(CONFIG_CBFS_PREFIX "/ramstage");
|
||||||
}
|
}
|
||||||
void run_ramstage(void)
|
void __noreturn run_ramstage(void)
|
||||||
{
|
{
|
||||||
struct prog ramstage =
|
struct prog ramstage =
|
||||||
PROG_INIT(PROG_RAMSTAGE, CONFIG_CBFS_PREFIX "/ramstage");
|
PROG_INIT(PROG_RAMSTAGE, CONFIG_CBFS_PREFIX "/ramstage");
|
||||||
|
@@ -25,5 +25,4 @@ void __noreturn romstage_main(void)
|
|||||||
memmap_stash_early_dram_usage();
|
memmap_stash_early_dram_usage();
|
||||||
|
|
||||||
run_ramstage();
|
run_ramstage();
|
||||||
die("failed to load ramstage\n");
|
|
||||||
}
|
}
|
||||||
|
@@ -25,7 +25,4 @@ void __noreturn romstage_main(void)
|
|||||||
|
|
||||||
post_code(0x44);
|
post_code(0x44);
|
||||||
run_ramstage();
|
run_ramstage();
|
||||||
|
|
||||||
post_code(0x50); /* Should never see this post code. */
|
|
||||||
die("failed to load ramstage\n");
|
|
||||||
}
|
}
|
||||||
|
@@ -27,5 +27,4 @@ void __noreturn romstage_main(void)
|
|||||||
memmap_stash_early_dram_usage();
|
memmap_stash_early_dram_usage();
|
||||||
|
|
||||||
run_ramstage();
|
run_ramstage();
|
||||||
die("failed to load ramstage\n");
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user