diff options
author | Furquan Shaikh <furquan@google.com> | 2015-07-30 13:38:24 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-08-01 02:51:38 +0000 |
commit | 8804be8cbeccfca8085a45c76c0d510f030d9061 (patch) | |
tree | f44f8c919a125880d3ed2630da0a27a0be3ecaa7 /firmware/2lib | |
parent | 14f122601f45d95a0162be8ad1456d9824cb80f9 (diff) | |
download | vboot-8804be8cbeccfca8085a45c76c0d510f030d9061.tar.gz |
VbNvStorage: Add flags for misc settings
1. Change offset 8 to hold all misc settings (fastboot, boot_on_ac
detect) instead of only fastboot settings.
2. Add flag to hold state of boot_on_ac_detect (If set to 1, AP should
start booting as soon as AC is connected in off-state).
BUG=chrome-os-partner:41680
BRANCH=None
TEST=Compiles successfully. make runtests successful.
Change-Id: I64b3fc69bd52cbcaf5899c953ccafa2e81b5b8a5
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/289900
Trybot-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Commit-Queue: Furquan Shaikh <furquan@chromium.org>
Diffstat (limited to 'firmware/2lib')
-rw-r--r-- | firmware/2lib/2nvstorage.c | 12 | ||||
-rw-r--r-- | firmware/2lib/include/2nvstorage.h | 2 | ||||
-rw-r--r-- | firmware/2lib/include/2nvstorage_fields.h | 9 |
3 files changed, 16 insertions, 7 deletions
diff --git a/firmware/2lib/2nvstorage.c b/firmware/2lib/2nvstorage.c index 35cf6fcc..66a2202f 100644 --- a/firmware/2lib/2nvstorage.c +++ b/firmware/2lib/2nvstorage.c @@ -158,8 +158,10 @@ uint32_t vb2_nv_get(struct vb2_context *ctx, enum vb2_nv_param param) return GETBIT(VB2_NV_OFFS_HEADER , VB2_NV_HEADER_WIPEOUT); case VB2_NV_FASTBOOT_UNLOCK_IN_FW: - return GETBIT(VB2_NV_OFFS_FASTBOOT, - VB2_NV_FASTBOOT_FLAG_UNLOCK_IN_FW); + return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_UNLOCK_FASTBOOT); + + case VB2_NV_BOOT_ON_AC_DETECT: + return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_BOOT_ON_AC_DETECT); } /* @@ -312,7 +314,11 @@ void vb2_nv_set(struct vb2_context *ctx, break; case VB2_NV_FASTBOOT_UNLOCK_IN_FW: - SETBIT(VB2_NV_OFFS_FASTBOOT, VB2_NV_FASTBOOT_FLAG_UNLOCK_IN_FW); + SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_UNLOCK_FASTBOOT); + break; + + case VB2_NV_BOOT_ON_AC_DETECT: + SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_BOOT_ON_AC_DETECT); break; } diff --git a/firmware/2lib/include/2nvstorage.h b/firmware/2lib/include/2nvstorage.h index 9ade3e78..0a533e3e 100644 --- a/firmware/2lib/include/2nvstorage.h +++ b/firmware/2lib/include/2nvstorage.h @@ -88,6 +88,8 @@ enum vb2_nv_param { /* Fastboot: Unlock in firmware, 0=disabled, 1=enabled. */ VB2_NV_FASTBOOT_UNLOCK_IN_FW, + /* Boot system when AC detected (0=no, 1=yes). */ + VB2_NV_BOOT_ON_AC_DETECT, }; /* Firmware result codes for VB2_NV_FW_RESULT and VB2_NV_FW_PREV_RESULT */ diff --git a/firmware/2lib/include/2nvstorage_fields.h b/firmware/2lib/include/2nvstorage_fields.h index 0a6c5385..45d9a7c5 100644 --- a/firmware/2lib/include/2nvstorage_fields.h +++ b/firmware/2lib/include/2nvstorage_fields.h @@ -28,12 +28,12 @@ enum vb2_nv_offset { VB2_NV_OFFS_TPM = 5, VB2_NV_OFFS_RECOVERY_SUBCODE = 6, VB2_NV_OFFS_BOOT2 = 7, - VB2_NV_OFFS_FASTBOOT = 8, + VB2_NV_OFFS_MISC = 8, /* Offsets 9-10 are currently unused */ VB2_NV_OFFS_KERNEL = 11, /* 11-14; field is 32 bits */ /* CRC must be last field */ VB2_NV_OFFS_CRC = 15 -}; + }; /* Fields in VB2_NV_OFFS_HEADER (unused = 0x07) */ #define VB2_NV_HEADER_WIPEOUT 0x08 @@ -67,7 +67,8 @@ enum vb2_nv_offset { #define VB2_NV_TPM_CLEAR_OWNER_REQUEST 0x01 #define VB2_NV_TPM_CLEAR_OWNER_DONE 0x02 -/* Fields in VB2_NV_OFFS_FASTBOOT (unused = 0xfe) */ -#define VB2_NV_FASTBOOT_FLAG_UNLOCK_IN_FW 0x01 +/* Fields in VB2_NV_OFFS_MISC (unused = 0xfc) */ +#define VB2_NV_MISC_UNLOCK_FASTBOOT 0x01 +#define VB2_NV_MISC_BOOT_ON_AC_DETECT 0x02 #endif /* VBOOT_REFERENCE_VBOOT_2NVSTORAGE_FIELDS_H_ */ |