[coreboot-gerrit] Patch set updated for coreboot: google/chromeec: Add elog events for recovery mode switches
Furquan Shaikh (furquan@google.com)
gerrit at coreboot.org
Fri Nov 11 23:48:28 CET 2016
Furquan Shaikh (furquan at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17394
-gerrit
commit a2a8244dc2c0c38ec9a0c39698cb076b7230213f
Author: Furquan Shaikh <furquan at chromium.org>
Date: Fri Nov 11 13:57:55 2016 -0800
google/chromeec: Add elog events for recovery mode switches
BUG=chrome-os-partner:59352
BRANCH=None
TEST=Verified eventlog on reef
Change-Id: I45dda210cf9d4e5a75404792fcee15b2010787a7
Signed-off-by: Furquan Shaikh <furquan at chromium.org>
---
src/ec/google/chromeec/ec.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c
index c8b6e7e..11346a2 100644
--- a/src/ec/google/chromeec/ec.c
+++ b/src/ec/google/chromeec/ec.c
@@ -15,9 +15,12 @@
#include <stdint.h>
#include <string.h>
+#include <cbmem.h>
#include <console/console.h>
#include <arch/io.h>
+#include <bootstate.h>
#include <delay.h>
+#include <elog.h>
#include <halt.h>
#include <reset.h>
#include <elog.h>
@@ -29,6 +32,24 @@
#include "ec.h"
#include "ec_commands.h"
+static void google_chromeec_elog_add_recovery_event(void *unused)
+{
+ uint32_t *events = cbmem_find(CBMEM_ID_EC_HOSTEVENT);
+ uint8_t event_byte = EC_EVENT_KEYBOARD_RECOVERY;
+
+ if (!(*events & EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY)))
+ return;
+
+ if (*events &
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY_HW_REINIT))
+ event_byte = EC_EVENT_KEYBOARD_RECOVERY_HWREINIT;
+
+ elog_add_event_byte(ELOG_TYPE_EC_EVENT, event_byte);
+}
+
+BOOT_STATE_INIT_ENTRY(BS_WRITE_TABLES, BS_ON_ENTRY,
+ google_chromeec_elog_add_recovery_event, NULL);
+
uint8_t google_chromeec_calc_checksum(const uint8_t *data, int size)
{
int csum;
More information about the coreboot-gerrit
mailing list