coreboot-kgpe-d16/src
Subrata Banik 2d20b68b6e vc/google/elog: Record vboot FW boot information into elog
This patch calls into vboot API (vb2api_get_fw_boot_info) to retrieve
FW slot boot information like (tries count, current boot slot, previous
boot slot, previous boot status and boot mode).

Upon retrieval of the vboot information, elog callback from ramstage
records the info into the eventlog.

Additionally, this patch refactors the existing event logging mechanism
to add newer APIs to record vboot firmware boot related information.

BUG=b:215615970
TEST=Build and boot google/kano to ChromeOS and run below command to
check the cbmem log:
Scenario 1:
localhost ~ # cbmem -c | grep VB2
[INFO ]  VB2:vb2_check_recovery() Recovery reason from previous boot:
         0x0 / 0x0
[INFO ]  VB2:vb2api_fill_boot_config() boot_mode=`Developer boot`
         VB2:vb2api_get_fw_boot_info() fw_tried=`A` fw_try_count=0
            fw_prev_tried=`A` fw_prev_result=`Success`.
....

Scenario 2:
localhost ~ # crossystem recovery_request=1
localhost ~ # cbmem -c | grep VB2
[INFO ]  VB2:vb2api_fill_boot_config() boot_mode=`Manual recovery boot`
         VB2:vb2api_fill_boot_config() recovery_reason=0x13 / 0x00
         VB2:vb2api_get_fw_boot_info() fw_tried=`A` fw_try_count=0
            fw_prev_tried=`A` fw_prev_result=`Unknown`.

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I6882cd1c4dbe5e24f6460388cd1af4e4a05fc4da
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65561
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-08-02 07:06:30 +00:00
..
acpi treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
arch arch/x86/acpi: Replace Store() with ASL 2.0 syntax 2022-07-30 00:11:58 +00:00
commonlib vc/google/elog: Record vboot FW boot information into elog 2022-08-02 07:06:30 +00:00
console console: Make CONSOLE_SPI_FLASH depend on BOOT_DEVICE_SPI_FLASH 2022-04-27 06:55:47 +00:00
cpu arch/x86: Fix MAX_CPUS check proper for late X2APIC config 2022-07-25 10:06:18 +00:00
device allocator_v4: Make it explicit that we start with the highest alignment 2022-06-27 14:00:23 +00:00
drivers drivers/elog: Use format string 2022-08-01 09:27:50 +00:00
ec ec/system76/ec: Provide charging thresholds by default 2022-07-16 22:48:06 +00:00
include include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
lib lib/program_loaders.c: Mark run_ramstage with __noreturn 2022-07-14 23:10:17 +00:00
mainboard mb/google/herobrine: Add PCIe domain support 2022-08-01 18:04:54 +00:00
northbridge nb/amd: Fix some white spaces issues 2022-07-17 21:57:31 +00:00
security security/vboot: Simplify image signing 2022-07-30 18:29:25 +00:00
soc soc/amd/common/block/apob/apob_cache.c: Add assert for APOB DRAM size 2022-08-01 20:44:09 +00:00
southbridge sb/intel/bd82x6x/acpi: Replace LEqual(a,b) with ASL 2.0 syntax 2022-07-29 10:16:25 +00:00
superio superio/nuvoton/nct6687d: Add ramstage driver and ACPI 2022-07-08 15:40:31 +00:00
vendorcode vc/google/elog: Record vboot FW boot information into elog 2022-08-02 07:06:30 +00:00
Kconfig src/Kconfig: src/soc/*/Kconfig files are gone, remove the include 2022-06-24 04:00:15 +00:00