From 673075f102afe35c9347755dfd85dde574133e64 Mon Sep 17 00:00:00 2001 From: Dinesh Gehlot Date: Thu, 21 Nov 2024 00:33:29 +0530 Subject: [PATCH] util/cbfstool: Add eventLog support for ELOG_TYPE_FW_CSE_SYNC This patch introduces logging for the ELOG_TYPE_FW_CSE_SYNC event. This event logs data related to CSE synchronization, along with the relevant boot stage information. BUG=b:305898363 TEST=boot verified on google/rex0 and google/rex64 Change-Id: I4d6d3c4e07ab8677feb6a8acf8d4c6604ab704b8 Signed-off-by: Dinesh Gehlot Reviewed-on: https://review.coreboot.org/c/coreboot/+/85218 Reviewed-by: Karthik Ramasubramanian Tested-by: build bot (Jenkins) --- util/cbfstool/eventlog.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/util/cbfstool/eventlog.c b/util/cbfstool/eventlog.c index 5e76df22cf..e3fccde63f 100644 --- a/util/cbfstool/eventlog.c +++ b/util/cbfstool/eventlog.c @@ -170,6 +170,7 @@ static void eventlog_print_type(const struct event_header *event) {ELOG_TYPE_PSR_DATA_LOST, "PSR data lost"}, {ELOG_TYPE_FW_SPLASH_SCREEN, "Firmware Splash Screen"}, {ELOG_TYPE_FW_LATE_SOL, "Late Sign of Life "}, + {ELOG_TYPE_FW_CSE_SYNC, "Firmware CSE sync"}, {ELOG_TYPE_EOL, "End of log"}, }; @@ -489,6 +490,13 @@ static int eventlog_print_data(const struct event_header *event) {0, NULL}, }; + static const struct valstr cse_sync_path_types[] = { + {ELOG_FW_EARLY_CSE_SYNC, "Early CSE Sync"}, + {ELOG_FW_LATE_CSE_SYNC, "Late CSE Sync"}, + {ELOG_FW_CSE_SYNC_AT_PAYLOAD, "CSE Sync at Payload"}, + {0, NULL}, + }; + size_t elog_type_to_min_size[] = { [ELOG_TYPE_LOG_CLEAR] = sizeof(uint16_t), [ELOG_TYPE_BOOT] = sizeof(uint32_t), @@ -510,7 +518,8 @@ static int eventlog_print_data(const struct event_header *event) [ELOG_TYPE_FW_EARLY_SOL] = sizeof(uint8_t), [ELOG_TYPE_PSR_DATA_BACKUP] = sizeof(uint8_t), [ELOG_TYPE_FW_SPLASH_SCREEN] = sizeof(uint8_t), - [ELOG_TYPE_FW_LATE_SOL] = sizeof(uint8_t), + [ELOG_TYPE_FW_LATE_SOL] = sizeof(uint8_t), + [ELOG_TYPE_FW_CSE_SYNC] = sizeof(uint8_t), [0xff] = 0, }; @@ -682,6 +691,11 @@ static int eventlog_print_data(const struct event_header *event) eventlog_printf("%s", val2str(*sol_event, late_sol_path_types)); break; } + case ELOG_TYPE_FW_CSE_SYNC: { + const uint8_t *cse_event = event_get_data(event); + eventlog_printf("%s", val2str(*cse_event, cse_sync_path_types)); + break; + } default: break; }