Joel Kitching has uploaded this change for review.

View Change

vboot: remove VBOOT_NO_BOARD_SUPPORT Kconfig

Just make the implementation in bootmode.c __weak like
the other functions related to recovery switch.
Boards may still enable vboot without implementing
this function.

Kconfig was originally added in CB:22102.

BUG=b:124141368, chromium:950273
TEST=make clean && make test-abuild
BRANCH=none

Change-Id: Iccef100fac1d71625039990373e40b29d52a0167
Signed-off-by: Joel Kitching <kitching@google.com>
---
M src/mainboard/emulation/qemu-i440fx/Kconfig
M src/mainboard/emulation/qemu-q35/Kconfig
M src/mainboard/google/daisy/chromeos.c
M src/mainboard/google/foster/chromeos.c
M src/mainboard/google/mistral/Kconfig
M src/mainboard/google/peach_pit/chromeos.c
M src/mainboard/google/veyron/chromeos.c
M src/mainboard/hp/z220_sff_workstation/Kconfig
M src/mainboard/intel/cannonlake_rvp/chromeos.c
M src/mainboard/intel/coffeelake_rvp/chromeos.c
M src/mainboard/intel/galileo/vboot.c
M src/mainboard/intel/icelake_rvp/chromeos.c
M src/mainboard/intel/jasperlake_rvp/chromeos.c
M src/mainboard/intel/tglrvp/chromeos.c
M src/mainboard/intel/wtm2/chromeos.c
M src/mainboard/opencellular/elgon/Kconfig
M src/mainboard/siemens/mc_apl1/variants/mc_apl2/Kconfig
M src/mainboard/siemens/mc_apl1/variants/mc_apl4/Kconfig
M src/mainboard/siemens/mc_apl1/variants/mc_apl5/Kconfig
M src/mainboard/siemens/mc_apl1/variants/mc_apl6/Kconfig
M src/mainboard/supermicro/x11-lga1151-series/Kconfig
M src/mainboard/up/squared/Kconfig
M src/security/vboot/Kconfig
M src/security/vboot/bootmode.c
24 files changed, 21 insertions(+), 109 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/42/39342/1
diff --git a/src/mainboard/emulation/qemu-i440fx/Kconfig b/src/mainboard/emulation/qemu-i440fx/Kconfig
index 3c27b1e..f9d7a67 100644
--- a/src/mainboard/emulation/qemu-i440fx/Kconfig
+++ b/src/mainboard/emulation/qemu-i440fx/Kconfig
@@ -19,7 +19,6 @@
select VBOOT_STARTS_IN_BOOTBLOCK
select VBOOT_SEPARATE_VERSTAGE
select VBOOT_VBNV_CMOS
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
diff --git a/src/mainboard/emulation/qemu-q35/Kconfig b/src/mainboard/emulation/qemu-q35/Kconfig
index ee430d0..becfefe 100644
--- a/src/mainboard/emulation/qemu-q35/Kconfig
+++ b/src/mainboard/emulation/qemu-q35/Kconfig
@@ -18,7 +18,6 @@
select VBOOT_STARTS_IN_BOOTBLOCK
select VBOOT_SEPARATE_VERSTAGE
select VBOOT_VBNV_CMOS
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
diff --git a/src/mainboard/google/daisy/chromeos.c b/src/mainboard/google/daisy/chromeos.c
index 745f084..829ccef 100644
--- a/src/mainboard/google/daisy/chromeos.c
+++ b/src/mainboard/google/daisy/chromeos.c
@@ -33,15 +33,10 @@
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
}

+#if !CONFIG(EC_GOOGLE_CHROMEEC)
int get_recovery_mode_switch(void)
{
- uint64_t ec_events;
-
/* The GPIO is active low. */
- if (!gpio_get_value(GPIO_Y10)) // RECMODE_GPIO
- return 1;
-
- ec_events = google_chromeec_get_events_b();
- return !!(ec_events &
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY));
+ return !!gpio_get_value(GPIO_Y10); // RECMODE_GPIO
}
+#endif
diff --git a/src/mainboard/google/foster/chromeos.c b/src/mainboard/google/foster/chromeos.c
index 05d9e86..ca01fe2 100644
--- a/src/mainboard/google/foster/chromeos.c
+++ b/src/mainboard/google/foster/chromeos.c
@@ -32,16 +32,3 @@
};
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
}
-
-int get_recovery_mode_switch(void)
-{
-#if CONFIG(EC_GOOGLE_CHROMEEC)
- uint64_t ec_events;
-
- ec_events = google_chromeec_get_events_b();
- return !!(ec_events &
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY));
-#else
- return 0;
-#endif
-}
diff --git a/src/mainboard/google/mistral/Kconfig b/src/mainboard/google/mistral/Kconfig
index b7d0d31..2db1fcb 100644
--- a/src/mainboard/google/mistral/Kconfig
+++ b/src/mainboard/google/mistral/Kconfig
@@ -17,7 +17,6 @@
config VBOOT
select VBOOT_VBNV_FLASH
select VBOOT_MOCK_SECDATA
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_FORCE_DEV_SWITCH_ON

config MAINBOARD_DIR
diff --git a/src/mainboard/google/peach_pit/chromeos.c b/src/mainboard/google/peach_pit/chromeos.c
index a82f50f..9b2d8c5 100644
--- a/src/mainboard/google/peach_pit/chromeos.c
+++ b/src/mainboard/google/peach_pit/chromeos.c
@@ -33,15 +33,10 @@
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
}

+#if !CONFIG(EC_GOOGLE_CHROMEEC)
int get_recovery_mode_switch(void)
{
- uint64_t ec_events;
-
/* The GPIO is active low. */
- if (!gpio_get_value(GPIO_X07)) // RECMODE_GPIO
- return 1;
-
- ec_events = google_chromeec_get_events_b();
- return !!(ec_events &
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY));
+ return !!gpio_get_value(GPIO_X07); // RECMODE_GPIO
}
+#endif
diff --git a/src/mainboard/google/veyron/chromeos.c b/src/mainboard/google/veyron/chromeos.c
index e14e2e5..42aba05 100644
--- a/src/mainboard/google/veyron/chromeos.c
+++ b/src/mainboard/google/veyron/chromeos.c
@@ -52,15 +52,10 @@
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
}

+#if !CONFIG(EC_GOOGLE_CHROMEEC)
int get_recovery_mode_switch(void)
{
- uint64_t ec_events;
-
/* The GPIO is active low. */
- if (!gpio_get(GPIO_RECOVERY))
- return 1;
-
- ec_events = google_chromeec_get_events_b();
- return !!(ec_events &
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY));
+ return !!gpio_get(GPIO_RECOVERY);
}
+#endif
diff --git a/src/mainboard/hp/z220_sff_workstation/Kconfig b/src/mainboard/hp/z220_sff_workstation/Kconfig
index 8f28baf..50faf7e 100644
--- a/src/mainboard/hp/z220_sff_workstation/Kconfig
+++ b/src/mainboard/hp/z220_sff_workstation/Kconfig
@@ -20,7 +20,6 @@

config VBOOT
select VBOOT_VBNV_CMOS
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
diff --git a/src/mainboard/intel/cannonlake_rvp/chromeos.c b/src/mainboard/intel/cannonlake_rvp/chromeos.c
index 5020e9b..62e4137 100644
--- a/src/mainboard/intel/cannonlake_rvp/chromeos.c
+++ b/src/mainboard/intel/cannonlake_rvp/chromeos.c
@@ -33,13 +33,8 @@

int get_lid_switch(void)
{
- /* Lid always open */
- return 1;
-}
-
-int get_recovery_mode_switch(void)
-{
- return 0;
+ /* Lid always open */
+ return 1;
}

void mainboard_chromeos_acpi_generate(void)
diff --git a/src/mainboard/intel/coffeelake_rvp/chromeos.c b/src/mainboard/intel/coffeelake_rvp/chromeos.c
index 0933fe6..c1bc404 100644
--- a/src/mainboard/intel/coffeelake_rvp/chromeos.c
+++ b/src/mainboard/intel/coffeelake_rvp/chromeos.c
@@ -36,11 +36,6 @@
return 1;
}

-int get_recovery_mode_switch(void)
-{
- return 0;
-}
-
void mainboard_chromeos_acpi_generate(void)
{
const struct cros_gpio *gpios;
diff --git a/src/mainboard/intel/galileo/vboot.c b/src/mainboard/intel/galileo/vboot.c
index fda7431..4f66b5d 100644
--- a/src/mainboard/intel/galileo/vboot.c
+++ b/src/mainboard/intel/galileo/vboot.c
@@ -24,11 +24,6 @@
#include "gen1.h"
#include "gen2.h"

-int get_recovery_mode_switch(void)
-{
- return 0;
-}
-
void verstage_mainboard_init(void)
{
const struct reg_script *script;
diff --git a/src/mainboard/intel/icelake_rvp/chromeos.c b/src/mainboard/intel/icelake_rvp/chromeos.c
index 0882e88..1e5dd99 100644
--- a/src/mainboard/intel/icelake_rvp/chromeos.c
+++ b/src/mainboard/intel/icelake_rvp/chromeos.c
@@ -36,11 +36,6 @@
return 1;
}

-int get_recovery_mode_switch(void)
-{
- return 0;
-}
-
void mainboard_chromeos_acpi_generate(void)
{
const struct cros_gpio *gpios;
diff --git a/src/mainboard/intel/jasperlake_rvp/chromeos.c b/src/mainboard/intel/jasperlake_rvp/chromeos.c
index 6ad0b39..3da8971 100644
--- a/src/mainboard/intel/jasperlake_rvp/chromeos.c
+++ b/src/mainboard/intel/jasperlake_rvp/chromeos.c
@@ -35,11 +35,6 @@
return 1;
}

-int get_recovery_mode_switch(void)
-{
- return 0;
-}
-
void mainboard_chromeos_acpi_generate(void)
{
const struct cros_gpio *gpios;
diff --git a/src/mainboard/intel/tglrvp/chromeos.c b/src/mainboard/intel/tglrvp/chromeos.c
index 6ad0b39..3da8971 100644
--- a/src/mainboard/intel/tglrvp/chromeos.c
+++ b/src/mainboard/intel/tglrvp/chromeos.c
@@ -35,11 +35,6 @@
return 1;
}

-int get_recovery_mode_switch(void)
-{
- return 0;
-}
-
void mainboard_chromeos_acpi_generate(void)
{
const struct cros_gpio *gpios;
diff --git a/src/mainboard/intel/wtm2/chromeos.c b/src/mainboard/intel/wtm2/chromeos.c
index 16ea993..8a4956d 100644
--- a/src/mainboard/intel/wtm2/chromeos.c
+++ b/src/mainboard/intel/wtm2/chromeos.c
@@ -19,9 +19,6 @@
#include <soc/gpio.h>
#include <vendorcode/google/chromeos/chromeos.h>

-/* Compile-time settings for recovery mode. */
-#define REC_MODE_SETTING 0
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
struct lb_gpio chromeos_gpios[] = {
@@ -32,11 +29,6 @@
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
}

-int get_recovery_mode_switch(void)
-{
- return REC_MODE_SETTING;
-}
-
static const struct cros_gpio cros_gpios[] = {
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
CROS_GPIO_WP_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
diff --git a/src/mainboard/opencellular/elgon/Kconfig b/src/mainboard/opencellular/elgon/Kconfig
index 3ba2a60..781b668 100644
--- a/src/mainboard/opencellular/elgon/Kconfig
+++ b/src/mainboard/opencellular/elgon/Kconfig
@@ -28,7 +28,6 @@
select MISSING_BOARD_RESET

config VBOOT
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
diff --git a/src/mainboard/siemens/mc_apl1/variants/mc_apl2/Kconfig b/src/mainboard/siemens/mc_apl1/variants/mc_apl2/Kconfig
index 6adf4e9..2701046 100644
--- a/src/mainboard/siemens/mc_apl1/variants/mc_apl2/Kconfig
+++ b/src/mainboard/siemens/mc_apl1/variants/mc_apl2/Kconfig
@@ -16,7 +16,6 @@
config VBOOT
select VBOOT_MEASURED_BOOT
select VBOOT_VBNV_FLASH
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
diff --git a/src/mainboard/siemens/mc_apl1/variants/mc_apl4/Kconfig b/src/mainboard/siemens/mc_apl1/variants/mc_apl4/Kconfig
index b10bdc8..7799d34 100644
--- a/src/mainboard/siemens/mc_apl1/variants/mc_apl4/Kconfig
+++ b/src/mainboard/siemens/mc_apl1/variants/mc_apl4/Kconfig
@@ -19,7 +19,6 @@
config VBOOT
select VBOOT_MEASURED_BOOT
select VBOOT_VBNV_FLASH
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
diff --git a/src/mainboard/siemens/mc_apl1/variants/mc_apl5/Kconfig b/src/mainboard/siemens/mc_apl1/variants/mc_apl5/Kconfig
index e46a0de..52afba5 100644
--- a/src/mainboard/siemens/mc_apl1/variants/mc_apl5/Kconfig
+++ b/src/mainboard/siemens/mc_apl1/variants/mc_apl5/Kconfig
@@ -19,7 +19,6 @@
config VBOOT
select VBOOT_MEASURED_BOOT
select VBOOT_VBNV_FLASH
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
diff --git a/src/mainboard/siemens/mc_apl1/variants/mc_apl6/Kconfig b/src/mainboard/siemens/mc_apl1/variants/mc_apl6/Kconfig
index 864e808..bba2501 100644
--- a/src/mainboard/siemens/mc_apl1/variants/mc_apl6/Kconfig
+++ b/src/mainboard/siemens/mc_apl1/variants/mc_apl6/Kconfig
@@ -15,7 +15,6 @@
config VBOOT
select VBOOT_MEASURED_BOOT
select VBOOT_VBNV_FLASH
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
diff --git a/src/mainboard/supermicro/x11-lga1151-series/Kconfig b/src/mainboard/supermicro/x11-lga1151-series/Kconfig
index e0f468c..0111115 100644
--- a/src/mainboard/supermicro/x11-lga1151-series/Kconfig
+++ b/src/mainboard/supermicro/x11-lga1151-series/Kconfig
@@ -41,7 +41,6 @@
default "variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"

config VBOOT
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
diff --git a/src/mainboard/up/squared/Kconfig b/src/mainboard/up/squared/Kconfig
index 5db76fd..41bb3d3 100644
--- a/src/mainboard/up/squared/Kconfig
+++ b/src/mainboard/up/squared/Kconfig
@@ -17,7 +17,6 @@
select HAVE_INTEL_PTT

config VBOOT
- select VBOOT_NO_BOARD_SUPPORT
select GBB_FLAG_DISABLE_LID_SHUTDOWN
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
diff --git a/src/security/vboot/Kconfig b/src/security/vboot/Kconfig
index 6ffb065..d9ccb75 100644
--- a/src/security/vboot/Kconfig
+++ b/src/security/vboot/Kconfig
@@ -216,14 +216,6 @@
This is the second part of the FWID written to various regions of a
vboot firmware image to identify its version.

-config VBOOT_NO_BOARD_SUPPORT
- bool "Allow the use of vboot without board support"
- default n
- help
- Enable weak function for get_recovery_mode_switch in order to
- proceed with refactoring of the vboot2 code base. Later on this
- code is removed and replaced by interfaces.
-
config RO_REGION_ONLY
string "Additional files that should not be copied to RW"
default ""
diff --git a/src/security/vboot/bootmode.c b/src/security/vboot/bootmode.c
index 78c4320..55c1e79 100644
--- a/src/security/vboot/bootmode.c
+++ b/src/security/vboot/bootmode.c
@@ -42,6 +42,16 @@
return vboot_get_context()->flags & VB2_CONTEXT_DEVELOPER_MODE;
}

+int __weak get_recovery_mode_switch(void)
+{
+ return 0;
+}
+
+int __weak get_recovery_mode_retrain_switch(void)
+{
+ return 0;
+}
+
int __weak clear_recovery_mode_switch(void)
{
return 0;
@@ -66,20 +76,7 @@
BOOT_STATE_INIT_ENTRY(BS_WRITE_TABLES, BS_ON_ENTRY,
do_clear_recovery_mode_switch, NULL);

-int __weak get_recovery_mode_retrain_switch(void)
-{
- return 0;
-}
-
int vboot_recovery_mode_memory_retrain(void)
{
return get_recovery_mode_retrain_switch();
}
-
-#if CONFIG(VBOOT_NO_BOARD_SUPPORT)
-int __weak get_recovery_mode_switch(void)
-{
- return 0;
-}
-
-#endif

To view, visit change 39342. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Iccef100fac1d71625039990373e40b29d52a0167
Gerrit-Change-Number: 39342
Gerrit-PatchSet: 1
Gerrit-Owner: Joel Kitching <kitching@google.com>
Gerrit-Reviewer: Aaron Durbin <adurbin@chromium.org>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph@9elements.com>
Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Gerrit-Reviewer: Werner Zeh <werner.zeh@siemens.com>
Gerrit-MessageType: newchange