summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2018-05-22 17:17:21 +0800
committerchrome-bot <chrome-bot@chromium.org>2018-05-23 01:25:46 -0700
commitecda11561bbb761ebe750425cae193db4e9b3560 (patch)
tree8a4f6f20007687a943509714dfbc0b850a239457
parent2c3d2c17ee9b379c4e076eaa574ffb671b7e4cb5 (diff)
downloadvboot-ecda11561bbb761ebe750425cae193db4e9b3560.tar.gz
crossystem: Add BINF3_LEGACY for systems boot in legacy mode.
The BINF3 (VBT7) reflects the firmware type, and we need that to describe which type of firmware was booted. The 'legacy' did not have its own value definition, but without that we can't make sure if the system is running a non-chrome firmware or simply entered legacy boot path. CL:1054307 introduced a new value (0x4) for legacy type and we should handle it in crossystem mainfw_type command. BUG=b:79130310 TEST=emerge-eve coreboot depthcharge chromeos-bootimage; Boot in legacy mode and see crossystem reporting 'legacy' for mainfw_type. Change-Id: I4a1165e547e70c634d45054f56d1357ae5af2a83 Reviewed-on: https://chromium-review.googlesource.com/1068556 Commit-Ready: Hung-Te Lin <hungte@chromium.org> Tested-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r--host/arch/x86/lib/crossystem_arch.c2
-rw-r--r--host/lib/include/crossystem_arch.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/host/arch/x86/lib/crossystem_arch.c b/host/arch/x86/lib/crossystem_arch.c
index fc92c8f3..284b75d2 100644
--- a/host/arch/x86/lib/crossystem_arch.c
+++ b/host/arch/x86/lib/crossystem_arch.c
@@ -399,6 +399,8 @@ static const char* VbReadMainFwType(char* dest, int size)
/* Try reading type from BINF.3 */
if (ReadFileInt(ACPI_BINF_PATH ".3", &value) == 0) {
switch(value) {
+ case BINF3_LEGACY:
+ return StrCopy(dest, "legacy", size);
case BINF3_NETBOOT:
return StrCopy(dest, "netboot", size);
case BINF3_RECOVERY:
diff --git a/host/lib/include/crossystem_arch.h b/host/lib/include/crossystem_arch.h
index 030d9d69..f02e0f73 100644
--- a/host/lib/include/crossystem_arch.h
+++ b/host/lib/include/crossystem_arch.h
@@ -23,6 +23,7 @@
#define BINF3_NORMAL 1
#define BINF3_DEVELOPER 2
#define BINF3_NETBOOT 3
+#define BINF3_LEGACY 4
/* INTERNAL APIS FOR CROSSYSTEM AVAILABLE TO ARCH-SPECIFIC FUNCTIONS */