summaryrefslogtreecommitdiffstats
path: root/src/vboot
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2017-03-17 14:29:10 -0700
committerJulius Werner <jwerner@chromium.org>2017-03-28 22:17:00 +0200
commit5fc7c2896ae0d628903144041ff13349c79f2619 (patch)
tree8b4d65dd9a0f8062847278940615061bb74b0831 /src/vboot
parentb04cc6b90204d55096a56d4f3cd707148a634c97 (diff)
downloadcoreboot-5fc7c2896ae0d628903144041ff13349c79f2619.tar.gz
coreboot-5fc7c2896ae0d628903144041ff13349c79f2619.tar.bz2
coreboot-5fc7c2896ae0d628903144041ff13349c79f2619.zip
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)
Diffstat (limited to 'src/vboot')
-rw-r--r--src/vboot/Makefile.inc4
-rw-r--r--src/vboot/bootmode.c9
-rw-r--r--src/vboot/vboot_common.h6
3 files changed, 8 insertions, 11 deletions
diff --git a/src/vboot/Makefile.inc b/src/vboot/Makefile.inc
index fb373c3aad95..a09811b52c89 100644
--- a/src/vboot/Makefile.inc
+++ b/src/vboot/Makefile.inc
@@ -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__
diff --git a/src/vboot/bootmode.c b/src/vboot/bootmode.c
index 21922d4ce74b..d66911fa91b7 100644
--- a/src/vboot/bootmode.c
+++ b/src/vboot/bootmode.c
@@ -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;
diff --git a/src/vboot/vboot_common.h b/src/vboot/vboot_common.h
index aa01f2894402..8421ecb64026 100644
--- a/src/vboot/vboot_common.h
+++ b/src/vboot/vboot_common.h
@@ -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__ */