vboot: Compile bootmode.c conditionally based on CONFIG_VBOOT

Currently, src/vboot/bootmode.c gets compiled even if vboot is disabled.
It seems that this was only done to support calling certain
developer/recovery mode functions in this case. There is no reason to
compile the whole file for that -- we can just differentiate with a
stub in the header instead, which is what other parts of coreboot
usually do for cases like this.

Change-Id: If83e1b3e0f34f75c2395b4c464651e373724b2e6
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/18982
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
This commit is contained in:
Julius Werner 2017-03-17 14:29:10 -07:00
parent b04cc6b902
commit 5fc7c2896a
3 changed files with 8 additions and 11 deletions

View File

@ -13,14 +13,14 @@
## GNU General Public License for more details.
##
ifeq ($(CONFIG_VBOOT),y)
bootblock-y += bootmode.c
romstage-y += bootmode.c
ramstage-y += bootmode.c
verstage-y += bootmode.c
postcar-y += bootmode.c
ifeq ($(CONFIG_VBOOT),y)
libverstage-generic-ccopts += -D__PRE_RAM__ -D__VERSTAGE__
verstage-generic-ccopts += -D__PRE_RAM__ -D__VERSTAGE__

View File

@ -74,9 +74,6 @@ BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_EXIT,
*/
static int vboot_possibly_executed(void)
{
if (!IS_ENABLED(CONFIG_VBOOT))
return 0;
if (IS_ENABLED(CONFIG_VBOOT_STARTS_IN_BOOTBLOCK)) {
if (ENV_BOOTBLOCK && IS_ENABLED(CONFIG_SEPARATE_VERSTAGE))
return 0;
@ -141,9 +138,6 @@ int vboot_check_recovery_request(void)
int vboot_recovery_mode_enabled(void)
{
if (!IS_ENABLED(CONFIG_VBOOT))
return 0;
return !!vboot_check_recovery_request();
}
@ -159,9 +153,6 @@ int vboot_recovery_mode_memory_retrain(void)
int vboot_developer_mode_enabled(void)
{
if (!IS_ENABLED(CONFIG_VBOOT))
return 0;
if (cbmem_possibly_online() && vboot_handoff_check_developer_flag())
return 1;

View File

@ -104,8 +104,14 @@ void verstage_main(void);
void verstage_mainboard_init(void);
/* Check boot modes */
#if IS_ENABLED(CONFIG_VBOOT)
int vboot_developer_mode_enabled(void);
int vboot_recovery_mode_enabled(void);
int vboot_recovery_mode_memory_retrain(void);
#else /* !CONFIG_VBOOT */
static inline int vboot_developer_mode_enabled(void) { return 0; }
static inline int vboot_recovery_mode_enabled(void) { return 0; }
static inline int vboot_recovery_mode_memory_retrain(void) { return 0; }
#endif
#endif /* __VBOOT_VBOOT_COMMON_H__ */