mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-26 19:25:02 +00:00
vboot2: fix overloaded NV bit
Bill and I both added meanings for byte 1 bit 0x10. His changed (NV_BOOT_BACKUP_NVRAM) landed first, so move the vboot2 bit to byte 2. BUG=chromium:370082 BRANCH=none TEST=make clean && VBOOT2=1 make runtests Change-Id: Ib7ff8da47d03f91cbeb729ca517c6315dfb4e6ac Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/205408 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
This commit is contained in:
committed by
chrome-internal-fetch
parent
fc17308c39
commit
8de992c441
@@ -40,14 +40,15 @@ enum vb2_nv_offset {
|
||||
|
||||
/* Fields in VB2_NV_OFFS_BOOT */
|
||||
#define VB2_NV_BOOT_TRY_COUNT_MASK 0x0f
|
||||
#define VB2_NV_BOOT_TRY_NEXT 0x10
|
||||
#define VB2_NV_BOOT_BACKUP_NVRAM 0x10
|
||||
#define VB2_NV_BOOT_OPROM_NEEDED 0x20
|
||||
#define VB2_NV_BOOT_DISABLE_DEV 0x40
|
||||
#define VB2_NV_BOOT_DEBUG_RESET 0x80
|
||||
|
||||
/* Fields in VB2_NV_OFFS_BOOT2 (unused = 0xf8) */
|
||||
/* Fields in VB2_NV_OFFS_BOOT2 (unused = 0xf0) */
|
||||
#define VB2_NV_BOOT2_RESULT_MASK 0x03
|
||||
#define VB2_NV_BOOT2_TRIED 0x04
|
||||
#define VB2_NV_BOOT2_TRY_NEXT 0x08
|
||||
|
||||
/* Fields in VB2_NV_OFFS_DEV (unused = 0xf8) */
|
||||
#define VB2_NV_DEV_FLAG_USB 0x01
|
||||
@@ -139,7 +140,7 @@ uint32_t vb2_nv_get(struct vb2_context *ctx, enum vb2_nv_param param)
|
||||
return GETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_DEBUG_RESET);
|
||||
|
||||
case VB2_NV_TRY_NEXT:
|
||||
return GETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_TRY_NEXT);
|
||||
return GETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_TRY_NEXT);
|
||||
|
||||
case VB2_NV_TRY_COUNT:
|
||||
return p[VB2_NV_OFFS_BOOT] & VB2_NV_BOOT_TRY_COUNT_MASK;
|
||||
@@ -180,6 +181,9 @@ uint32_t vb2_nv_get(struct vb2_context *ctx, enum vb2_nv_param param)
|
||||
case VB2_NV_OPROM_NEEDED:
|
||||
return GETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_OPROM_NEEDED);
|
||||
|
||||
case VB2_NV_BACKUP_NVRAM_REQUEST:
|
||||
return GETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_BACKUP_NVRAM);
|
||||
|
||||
case VB2_NV_CLEAR_TPM_OWNER_REQUEST:
|
||||
return GETBIT(VB2_NV_OFFS_TPM, VB2_NV_TPM_CLEAR_OWNER_REQUEST);
|
||||
|
||||
@@ -228,7 +232,7 @@ void vb2_nv_set(struct vb2_context *ctx,
|
||||
break;
|
||||
|
||||
case VB2_NV_TRY_NEXT:
|
||||
SETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_TRY_NEXT);
|
||||
SETBIT(VB2_NV_OFFS_BOOT2, VB2_NV_BOOT2_TRY_NEXT);
|
||||
break;
|
||||
|
||||
case VB2_NV_TRY_COUNT:
|
||||
@@ -302,6 +306,10 @@ void vb2_nv_set(struct vb2_context *ctx,
|
||||
SETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_OPROM_NEEDED);
|
||||
break;
|
||||
|
||||
case VB2_NV_BACKUP_NVRAM_REQUEST:
|
||||
SETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_BACKUP_NVRAM);
|
||||
break;
|
||||
|
||||
case VB2_NV_CLEAR_TPM_OWNER_REQUEST:
|
||||
SETBIT(VB2_NV_OFFS_TPM, VB2_NV_TPM_CLEAR_OWNER_REQUEST);
|
||||
break;
|
||||
|
||||
@@ -68,6 +68,8 @@ enum vb2_nv_param {
|
||||
VB2_NV_CLEAR_TPM_OWNER_DONE,
|
||||
/* More details on recovery reason */
|
||||
VB2_NV_RECOVERY_SUBCODE,
|
||||
/* Request that NVRAM be backed up at next boot if possible. */
|
||||
VB2_NV_BACKUP_NVRAM_REQUEST,
|
||||
/* Firmware slot tried this boot (0=A, 1=B) */
|
||||
VB2_NV_FW_TRIED,
|
||||
/* Result of trying that firmware (see vb2_fw_result) */
|
||||
|
||||
@@ -45,6 +45,7 @@ static struct nv_field nvfields[] = {
|
||||
{VB2_NV_CLEAR_TPM_OWNER_REQUEST, 0, 1, 0, "clear tpm owner request"},
|
||||
{VB2_NV_CLEAR_TPM_OWNER_DONE, 0, 1, 0, "clear tpm owner done"},
|
||||
{VB2_NV_OPROM_NEEDED, 0, 1, 0, "oprom needed"},
|
||||
{VB2_NV_BACKUP_NVRAM_REQUEST, 0, 1, 0, "backup nvram request"},
|
||||
{0, 0, 0, 0, NULL}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user