coreboot-kgpe-d16/util/cbfstool
Hsuan Ting Chen fec16a3574 util/elogtool: Add support for parsing CrOS diagnostics log
Remove the "_DEPRECATED_" tag from ChromeOS diagnostics event and add a
subtype: "ELOG_CROS_DIAGNOSTICS_LOGS" under it.

The data of "ELOG_CROS_DIAGNOSTICS_LOGS" (0x02) contains:
* An uint8_t of subtype code
* Any number of "ChromeOS diagnostics logs" events

Each "ChromeOS diagnostics log" represents the result of one ChromeOS
diagnostics test run. It is stored within an uint8_t raw[3]:
 * [23:19] = ELOG_CROS_DIAG_TYPE_*
 * [18:16] = ELOG_CROS_DIAG_RESULT_*
 * [15:0]  = Running time in seconds

Also add support for parsing this event. The parser will first calculate
the number of runs it contains, and try to parse the result one by one.

BUG=b:226551117
TEST=Build and boot google/tomato to OS,
localhost ~ # elogtool list
0 | 2022-09-26 04:25:32 | Log area cleared | 186
1 | 2022-09-26 04:25:50 | System boot | 0
2 | 2022-09-26 04:25:50 | Firmware vboot info | boot_mode=Manual recovery
  | recovery_reason=0x2/0 (Recovery button pressed)
  | fw_tried=A | fw_try_count=0 | fw_prev_tried=A
  | fw_prev_result=Unknown
3 | 2022-09-26 04:25:50 | EC Event | Keyboard Recovery
4 | 2022-09-26 04:26:01 | Memory Cache Update | Normal | Success
5 | 2022-09-26 04:26:06 | System boot | 0
6 | 2022-09-26 04:26:07 | Firmware vboot info | boot_mode=Diagnostic
  | fw_tried=A | fw_try_count=0 | fw_prev_tried=A
  | fw_prev_result=Unknown
7 | 2022-09-26 04:26:07 | Diagnostics Mode | Diagnostics Logs
  | type=Memory check (quick), result=Aborted, time=0m0s
  | type=Memory check (full), result=Aborted, time=0m0s
  | type=Storage self-test (extended), result=Aborted, time=0m1s

Change-Id: I02428cd21be2ed797eb7aab45f1ef1d782a9c047
Signed-off-by: Hsuan Ting Chen <roccochen@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67834
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2022-10-14 16:06:39 +00:00
..
bpdt_formats util/cse_serger: Replace cse_layout_regions with array of regions 2021-10-19 16:10:12 +00:00
console util/cbfstool: Wrap logging macros in do - while 2022-10-13 17:07:02 +00:00
flashmap util/cbfstool: Remove redundant endian.h include 2022-01-04 11:50:11 +00:00
fpt_formats util/cse_fpt: Add a new tool for managing Intel CSE FPT binaries 2021-10-19 16:08:03 +00:00
lz4 util: Fix a few spelling mistakes 2022-05-30 04:25:07 +00:00
lzma util/cbfstool/lzma: Make clang-11+'s indentation checker happy 2020-02-01 19:51:31 +00:00
tests elogtool: add pytest for elogtool 2021-10-25 08:08:41 +00:00
.gitignore util/cbfstool/.gitignore: Add CSE tool executables 2021-11-29 18:44:34 +00:00
amdcompress.c util/cbfstool/amdcompress: fix argument requirement 2020-11-15 16:49:30 +00:00
cbfs-mkpayload.c util/cbfstool: Wrap logging macros in do - while 2022-10-13 17:07:02 +00:00
cbfs-mkstage.c util/cbfstool: Replace swab.h with commonlib/bsd/sysincludes.h 2022-01-10 21:32:34 +00:00
cbfs-payload-linux.c cbfstool: Use cbfs_serialized.h and standard vboot helpers 2020-12-03 00:00:33 +00:00
cbfs.h cbfs: Add CBFS_TYPE_INTEL_FIT and exclude it from CBFS verification 2022-06-01 19:45:22 +00:00
cbfs_glue.h cbfs/vboot: Adapt to new vb2_digest API 2022-09-02 23:51:29 +00:00
cbfs_image.c util/cbfstool: Wrap logging macros in do - while 2022-10-13 17:07:02 +00:00
cbfs_image.h util/cbfstool: Fix truncate command error handling and cbfs_image_from_buffer() 2022-08-03 23:24:49 +00:00
cbfs_sections.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
cbfs_sections.h cbfstool: Support CONFIG_CBFS_VERIFICATION and metadata hash anchor 2021-03-13 04:16:20 +00:00
cbfscomptool.c cbfstool: Use cbfs_serialized.h and standard vboot helpers 2020-12-03 00:00:33 +00:00
cbfstool.c cbfs/vboot: Adapt to new vb2_digest API 2022-09-02 23:51:29 +00:00
coff.h util/cbfstool: Add support for ARM64 UefiPayload 2021-10-04 02:31:01 +00:00
common.c util/cbfstool/common.c: Deduplicate buffer_create() logic 2022-06-16 20:38:53 +00:00
common.h util/cbfstool: Replace swab.h with commonlib/bsd/sysincludes.h 2022-01-10 21:32:34 +00:00
compress.c cbfstool: Use cbfs_serialized.h and standard vboot helpers 2020-12-03 00:00:33 +00:00
cse_fpt.c util/cse*: Add cse_helpers.{c,h} 2021-10-19 16:08:45 +00:00
cse_fpt.h util/cse*: Add cse_helpers.{c,h} 2021-10-19 16:08:45 +00:00
cse_helpers.c util/cse*: Add cse_helpers.{c,h} 2021-10-19 16:08:45 +00:00
cse_helpers.h util/cse*: Add cse_helpers.{c,h} 2021-10-19 16:08:45 +00:00
cse_serger.c util/cse_serger: Add command create-cse-region 2021-10-19 16:32:24 +00:00
cse_serger.h util/cse_serger: Replace cse_layout_regions with array of regions 2021-10-19 16:10:12 +00:00
default-x86.fmd drivers/vpd: Add VPD region to default FMAP when selected 2021-01-04 23:12:35 +00:00
default.fmd
description.md
elf.h cbfstool: Add support for platform "fixups" when modifying bootblock 2021-03-13 04:17:35 +00:00
elfheaders.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
elfparsing.h util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
elogtool.c util/cbfstool: Decouple elogtool from vboot_ref flashrom code 2022-06-16 20:38:41 +00:00
eventlog.c util/elogtool: Add support for parsing CrOS diagnostics log 2022-10-14 16:06:39 +00:00
eventlog.h elogtool: add "clear" command 2021-09-10 22:53:05 +00:00
EXAMPLE
fdt.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
fit.c util/ifittool: Error out if microcodes do not fit the FIT table 2022-09-15 13:01:42 +00:00
fit.h util/ifittool: Add an option to set the FIT pointer a CBFS file 2021-03-19 11:22:55 +00:00
flashmap_tests.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
flashrom.c treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
flashrom.h treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
fmap_from_fmd.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fmap_from_fmd.h util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fmaptool.c util/cbfstool/fmaptool: Generate list of terminal sections 2020-12-08 18:59:05 +00:00
fmd.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fmd.h util/cbfstool/fmd: make flashmap_flags bitfield struct elements unsigned 2020-09-23 13:39:14 +00:00
fmd_parser.c_shipped
fmd_parser.h_shipped
fmd_parser.y util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fmd_scanner.c_shipped treewide: Remove trailing whitespace 2021-02-17 17:30:05 +00:00
fmd_scanner.h_shipped treewide: Remove trailing whitespace 2021-02-17 17:30:05 +00:00
fmd_scanner.l util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
fv.h util/cbftool: Fix the bug in parsing Uefipayload with extended header 2021-09-02 06:07:08 +00:00
ifittool.c util/cbfstool: Fix truncate command error handling and cbfs_image_from_buffer() 2022-08-03 23:24:49 +00:00
ifwitool.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
linux.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
linux_trampoline.c cbfstool/linux_trampoline: Fill the ACPI RSDP entry 2022-03-09 14:21:26 +00:00
linux_trampoline.h util/cbfstool/linux_trampoline.h: Fix typo in comment 2021-06-04 12:35:14 +00:00
linux_trampoline.S cbfstool/linux_trampoline: Fill the ACPI RSDP entry 2022-03-09 14:21:26 +00:00
Makefile utils/cbfstool: Fix building with make test-tools 2022-02-27 18:29:24 +00:00
Makefile.inc util/cbfstool: Set USE_FLASHROM=0 to build vboot 2022-06-19 18:46:04 +00:00
option.h util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
partitioned_file.c util/cbfstool: unbreak compilation on FreeBSD 2021-01-13 12:07:17 +00:00
partitioned_file.h util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
platform_fixups.c cbfs/vboot: Adapt to new vb2_digest API 2022-09-02 23:51:29 +00:00
ProcessorBind.h util: Use SPDX headers 2020-05-11 19:38:40 +00:00
rmodtool.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00
rmodule.c util/cbfstool/rmodule: Omit undefined extern symbols from reloc table 2021-10-20 15:56:28 +00:00
rmodule.h rmodtool: Make memlayout symbols absolute and do not relocate them 2021-02-18 02:32:06 +00:00
xdr.c util/: Replace GPLv2 boiler plate with SPDX header 2020-05-09 21:22:08 +00:00