summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/commonlib/bsd/include/commonlib/bsd/elog.h4
-rw-r--r--util/cbfstool/eventlog.c10
2 files changed, 14 insertions, 0 deletions
diff --git a/src/commonlib/bsd/include/commonlib/bsd/elog.h b/src/commonlib/bsd/include/commonlib/bsd/elog.h
index 7e564fca21..29c781b6f5 100644
--- a/src/commonlib/bsd/include/commonlib/bsd/elog.h
+++ b/src/commonlib/bsd/include/commonlib/bsd/elog.h
@@ -305,6 +305,10 @@ struct elog_event_mem_cache_update {
#define ELOG_TYPE_MI_HRPC 0xb4
#define ELOG_TYPE_MI_HR 0xb5
+/* Chrome OS diagnostics-related events */
+#define ELOG_TYPE_CROS_DIAGNOSTICS 0xb6
+#define ELOG_CROS_LAUNCH_DIAGNOSTICS 0x01
+
struct elog_event_extended_event {
uint8_t event_type;
uint32_t event_complement;
diff --git a/util/cbfstool/eventlog.c b/util/cbfstool/eventlog.c
index 3ea352e6eb..1fd4113f52 100644
--- a/util/cbfstool/eventlog.c
+++ b/util/cbfstool/eventlog.c
@@ -157,6 +157,7 @@ static void eventlog_print_type(const struct event_header *event)
{ELOG_TYPE_CR50_NEED_RESET, "cr50 Reset Required"},
{ELOG_TYPE_EC_DEVICE_EVENT, "EC Device"},
{ELOG_TYPE_EXTENDED_EVENT, "Extended Event"},
+ {ELOG_TYPE_CROS_DIAGNOSTICS, "Diagnostics Mode"},
{ELOG_TYPE_EOL, "End of log"},
};
@@ -533,6 +534,11 @@ static int eventlog_print_data(const struct event_header *event)
{0, NULL},
};
+ static const struct valstr cros_diagnostics_types[] = {
+ {ELOG_CROS_LAUNCH_DIAGNOSTICS, "Launch Diagnostics"},
+ {0, NULL},
+ };
+
switch (event->type) {
case ELOG_TYPE_LOG_CLEAR: {
const uint16_t *bytes = event_get_data(event);
@@ -614,6 +620,10 @@ static int eventlog_print_data(const struct event_header *event)
eventlog_printf("0x%X", ext_event->event_complement);
break;
}
+ case ELOG_TYPE_CROS_DIAGNOSTICS: {
+ const uint8_t *type = event_get_data(event);
+ eventlog_printf("%s", val2str(*type, cros_diagnostics_types));
+ }
default:
break;
}