mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-24 02:05:01 +00:00
Report mainfw_act based on VbSharedData
Don't use FDT to report it on ARM. This fixes ARM reporting the wrong thing for RO-normal. BUG=none TEST=none Change-Id: Id3a1bd2a1d2502e1d9493ab362be5a58fa88d70e Reviewed-on: http://gerrit.chromium.org/gerrit/4213 Reviewed-by: Olof Johansson <olofj@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
@@ -321,8 +321,6 @@ const char* VbGetArchPropertyString(const char* name, char* dest, int size) {
|
|||||||
prop = "hardware-id";
|
prop = "hardware-id";
|
||||||
else if (!strcasecmp(name, "fwid"))
|
else if (!strcasecmp(name, "fwid"))
|
||||||
prop = "firmware-version";
|
prop = "firmware-version";
|
||||||
else if (!strcasecmp(name, "mainfw_act"))
|
|
||||||
prop = "active-firmware";
|
|
||||||
else if (!strcasecmp(name, "mainfw_type"))
|
else if (!strcasecmp(name, "mainfw_type"))
|
||||||
prop = "firmware-type";
|
prop = "firmware-type";
|
||||||
else if (!strcasecmp(name, "ecfw_act"))
|
else if (!strcasecmp(name, "ecfw_act"))
|
||||||
|
|||||||
@@ -26,7 +26,8 @@
|
|||||||
typedef enum VdatStringField {
|
typedef enum VdatStringField {
|
||||||
VDAT_STRING_TIMERS = 0, /* Timer values */
|
VDAT_STRING_TIMERS = 0, /* Timer values */
|
||||||
VDAT_STRING_LOAD_FIRMWARE_DEBUG, /* LoadFirmware() debug information */
|
VDAT_STRING_LOAD_FIRMWARE_DEBUG, /* LoadFirmware() debug information */
|
||||||
VDAT_STRING_LOAD_KERNEL_DEBUG /* LoadKernel() debug information */
|
VDAT_STRING_LOAD_KERNEL_DEBUG, /* LoadKernel() debug information */
|
||||||
|
VDAT_STRING_MAINFW_ACT /* Active main firmware */
|
||||||
} VdatStringField;
|
} VdatStringField;
|
||||||
|
|
||||||
|
|
||||||
@@ -293,6 +294,22 @@ char* GetVdatString(char* dest, int size, VdatStringField field)
|
|||||||
value = GetVdatLoadKernelDebug(dest, size, sh);
|
value = GetVdatLoadKernelDebug(dest, size, sh);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VDAT_STRING_MAINFW_ACT:
|
||||||
|
switch(sh->firmware_index) {
|
||||||
|
case 0:
|
||||||
|
StrCopy(dest, "A", size);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
StrCopy(dest, "B", size);
|
||||||
|
break;
|
||||||
|
case 0xFF:
|
||||||
|
StrCopy(dest, "recovery", size);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
value = NULL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
value = NULL;
|
value = NULL;
|
||||||
break;
|
break;
|
||||||
@@ -403,6 +420,8 @@ const char* VbGetSystemPropertyString(const char* name, char* dest, int size) {
|
|||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
} else if (!strcasecmp(name, "mainfw_act")) {
|
||||||
|
return GetVdatString(dest, size, VDAT_STRING_MAINFW_ACT);
|
||||||
} else if (!strcasecmp(name, "vdat_timers")) {
|
} else if (!strcasecmp(name, "vdat_timers")) {
|
||||||
return GetVdatString(dest, size, VDAT_STRING_TIMERS);
|
return GetVdatString(dest, size, VDAT_STRING_TIMERS);
|
||||||
} else if (!strcasecmp(name, "vdat_lfdebug")) {
|
} else if (!strcasecmp(name, "vdat_lfdebug")) {
|
||||||
|
|||||||
Reference in New Issue
Block a user