diff options
-rw-r--r-- | src/include/bootmode.h | 1 | ||||
-rw-r--r-- | src/vboot/vboot_handoff.c | 4 | ||||
-rw-r--r-- | src/vendorcode/google/chromeos/chromeos.c | 5 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/include/bootmode.h b/src/include/bootmode.h index c807472c59..db40a6de55 100644 --- a/src/include/bootmode.h +++ b/src/include/bootmode.h @@ -24,6 +24,7 @@ int get_developer_mode_switch(void); int get_recovery_mode_switch(void); int get_recovery_mode_retrain_switch(void); int clear_recovery_mode_switch(void); +void log_recovery_mode_switch(void); int get_wipeout_mode_switch(void); int get_lid_switch(void); diff --git a/src/vboot/vboot_handoff.c b/src/vboot/vboot_handoff.c index b0bd04ca16..b732b3aaa8 100644 --- a/src/vboot/vboot_handoff.c +++ b/src/vboot/vboot_handoff.c @@ -153,6 +153,10 @@ void vboot_fill_handoff(void) /* needed until we finish transtion to vboot2 for kernel verification */ fill_vboot_handoff(vh, sd); + + /* Log the recovery mode switches if required, before clearing them. */ + log_recovery_mode_switch(); + /* * The recovery mode switch is cleared (typically backed by EC) here * to allow multiple queries to get_recovery_mode_switch() and have diff --git a/src/vendorcode/google/chromeos/chromeos.c b/src/vendorcode/google/chromeos/chromeos.c index 563f6fd99b..b7d1e45829 100644 --- a/src/vendorcode/google/chromeos/chromeos.c +++ b/src/vendorcode/google/chromeos/chromeos.c @@ -33,3 +33,8 @@ int __attribute__((weak)) get_sw_write_protect_state(void) // Can be implemented by a platform / mainboard return 0; } + +void __attribute__((weak)) log_recovery_mode_switch(void) +{ + // Weak implementation. Nothing to do. +} |