diff options
author | Furquan Shaikh <furquan@chromium.org> | 2016-11-12 11:09:28 -0800 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-11-14 20:13:26 +0100 |
commit | 626eea2d42af79117879ceb2f6d354634f81aac8 (patch) | |
tree | 54c04b5b54a9ea65082d971e211ff8c40c3b4f9d | |
parent | 941e27bebbfb043620b68e695ace48642a69ec4f (diff) |
vboot: Add new function for logging recovery mode switches
BUG=chrome-os-partner:59352
BRANCH=None
TEST=Compiles successfully
Change-Id: I87cd675ea45a8b05a178cf64119bf5f9d8d218ca
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/17408
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-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. +} |