diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/2lib/2nvstorage.c | 10 | ||||
-rw-r--r-- | firmware/2lib/include/2nvstorage.h | 4 | ||||
-rw-r--r-- | firmware/2lib/include/2nvstorage_fields.h | 4 |
3 files changed, 17 insertions, 1 deletions
diff --git a/firmware/2lib/2nvstorage.c b/firmware/2lib/2nvstorage.c index 9090608d..e721ca6a 100644 --- a/firmware/2lib/2nvstorage.c +++ b/firmware/2lib/2nvstorage.c @@ -218,6 +218,10 @@ uint32_t vb2_nv_get(struct vb2_context *ctx, enum vb2_nv_param param) | (p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD2] << 8) | (p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD3] << 16) | (p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD4] << 24)); + case VB2_NV_ENABLE_ALT_OS_REQUEST: + return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_ENABLE_ALT_OS); + case VB2_NV_DISABLE_ALT_OS_REQUEST: + return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_DISABLE_ALT_OS); } /* @@ -419,6 +423,12 @@ void vb2_nv_set(struct vb2_context *ctx, p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD3] = (uint8_t)(value >> 16); p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD4] = (uint8_t)(value >> 24); break; + case VB2_NV_ENABLE_ALT_OS_REQUEST: + SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_ENABLE_ALT_OS); + break; + case VB2_NV_DISABLE_ALT_OS_REQUEST: + SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_DISABLE_ALT_OS); + break; } /* diff --git a/firmware/2lib/include/2nvstorage.h b/firmware/2lib/include/2nvstorage.h index 05183d52..9d8374c0 100644 --- a/firmware/2lib/include/2nvstorage.h +++ b/firmware/2lib/include/2nvstorage.h @@ -115,6 +115,10 @@ enum vb2_nv_param { * VB2_MAX_ROLLFORWARD_MAX_V1_DEFAULT for V1. */ VB2_NV_FW_MAX_ROLLFORWARD, + /* Enable AltOS Mode on next boot. */ + VB2_NV_ENABLE_ALT_OS_REQUEST, + /* Disable AltOS Mode on next boot. */ + VB2_NV_DISABLE_ALT_OS_REQUEST, }; /* Set default boot in developer mode */ diff --git a/firmware/2lib/include/2nvstorage_fields.h b/firmware/2lib/include/2nvstorage_fields.h index 981bbda4..4f7b9e22 100644 --- a/firmware/2lib/include/2nvstorage_fields.h +++ b/firmware/2lib/include/2nvstorage_fields.h @@ -101,10 +101,12 @@ enum vb2_nv_offset { #define VB2_NV_TPM_CLEAR_OWNER_DONE 0x02 #define VB2_NV_TPM_REBOOTED 0x04 -/* Fields in VB2_NV_OFFS_MISC (unused = 0xf0) */ +/* Fields in VB2_NV_OFFS_MISC (unused = 0xc0) */ #define VB2_NV_MISC_UNLOCK_FASTBOOT 0x01 #define VB2_NV_MISC_BOOT_ON_AC_DETECT 0x02 #define VB2_NV_MISC_TRY_RO_SYNC 0x04 #define VB2_NV_MISC_BATTERY_CUTOFF 0x08 +#define VB2_NV_MISC_ENABLE_ALT_OS 0x10 +#define VB2_NV_MISC_DISABLE_ALT_OS 0x20 #endif /* VBOOT_REFERENCE_VBOOT_2NVSTORAGE_FIELDS_H_ */ |