/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 *
 * Recovery reasons
 */

#pragma once

/* Recovery reason codes */
enum vb2_nv_recovery {
	/* Recovery not requested. */
	VB2_RECOVERY_NOT_REQUESTED = 0x00,

	/*
	 * Recovery requested from legacy utility.  (Prior to the NV storage
	 * spec, recovery mode was a single bitfield; this value is reserved so
	 * that scripts which wrote 1 to the recovery field are distinguishable
	 * from scripts whch use the recovery reasons listed here.
	 */
	VB2_RECOVERY_LEGACY = 0x01,

	/* User manually requested recovery via recovery button */
	VB2_RECOVERY_RO_MANUAL = 0x02,

	/*
	 * RW firmware failed signature check (neither RW firmware slot was
	 * valid)
	 */
	VB2_RECOVERY_RO_INVALID_RW = 0x03,

	/* S3 resume failed */
	VB2_RECOVERY_RO_S3_RESUME = 0x04,

	/* TPM error in read-only firmware (deprecated) */
	VB2_RECOVERY_DEP_RO_TPM_ERROR = 0x05,

	/* Shared data error in read-only firmware */
	VB2_RECOVERY_RO_SHARED_DATA = 0x06,

	/* Test error from S3Resume() */
	VB2_RECOVERY_RO_TEST_S3 = 0x07,

	/* Test error from LoadFirmwareSetup() (deprecated) */
	VB2_RECOVERY_RO_TEST_LFS = 0x08,

	/* Test error from LoadFirmware() (deprecated) */
	VB2_RECOVERY_RO_TEST_LF = 0x09,

	/* Latest tried RW firmware keyblock verification failed */
	VB2_RECOVERY_FW_KEYBLOCK = 0x13,

	/* Latest tried RW firmware key version too old */
	VB2_RECOVERY_FW_KEY_ROLLBACK = 0x14,

	/* Latest tried RW firmware preamble verification failed */
	VB2_RECOVERY_FW_PREAMBLE = 0x16,

	/* Latest tried RW firmware version too old */
	VB2_RECOVERY_FW_ROLLBACK = 0x17,

	/* Latest tried RW firmware body verification failed */
	VB2_RECOVERY_FW_BODY = 0x1b,

	/*
	 * Firmware boot failure outside of verified boot (RAM init, missing
	 * SSD, etc.).
	 */
	VB2_RECOVERY_RO_FIRMWARE = 0x20,

	/*
	 * Recovery mode TPM initialization requires a system reboot.  The
	 * system was already in recovery mode for some other reason when this
	 * happened.
	 */
	VB2_RECOVERY_RO_TPM_REBOOT = 0x21,

	/* EC software sync - other error */
	VB2_RECOVERY_EC_SOFTWARE_SYNC = 0x22,

	/* EC software sync - unable to determine active EC image */
	VB2_RECOVERY_EC_UNKNOWN_IMAGE = 0x23,

	/* EC software sync - error obtaining EC image hash (deprecated) */
	VB2_RECOVERY_DEP_EC_HASH = 0x24,

	/* EC software sync - error obtaining expected EC image */
	VB2_RECOVERY_EC_EXPECTED_IMAGE = 0x25,

	/* EC software sync - error updating EC */
	VB2_RECOVERY_EC_UPDATE = 0x26,

	/* EC software sync - unable to jump to EC-RW */
	VB2_RECOVERY_EC_JUMP_RW = 0x27,

	/* EC software sync - unable to protect / unprotect EC-RW */
	VB2_RECOVERY_EC_PROTECT = 0x28,

	/* EC software sync - error obtaining expected EC hash */
	VB2_RECOVERY_EC_EXPECTED_HASH = 0x29,

	/* EC software sync - expected EC image doesn't match hash */
	VB2_RECOVERY_EC_HASH_MISMATCH = 0x2a,

	/* New error codes from VB2 */
	/* TODO: may need to add strings for these in the original fwlib */

	/* Secure data inititalization error */
	VB2_RECOVERY_SECDATA_INIT = 0x2b,

	/* GBB header is bad */
	VB2_RECOVERY_GBB_HEADER = 0x2c,

	/* Unable to clear TPM owner */
	VB2_RECOVERY_TPM_CLEAR_OWNER = 0x2d,

	/* Error determining/updating virtual dev switch */
	VB2_RECOVERY_DEV_SWITCH = 0x2e,

	/* Error determining firmware slot */
	VB2_RECOVERY_FW_SLOT = 0x2f,

	/* Unspecified/unknown error in read-only firmware */
	VB2_RECOVERY_RO_UNSPECIFIED = 0x3f,

	/*
	 * User manually requested recovery by pressing a key at developer
	 * warning screen
	 */
	VB2_RECOVERY_RW_DEV_SCREEN = 0x41,

	/* No OS kernel detected */
	VB2_RECOVERY_RW_NO_OS = 0x42,

	/* OS kernel failed signature check */
	VB2_RECOVERY_RW_INVALID_OS = 0x43,

	/* TPM error in rewritable firmware (deprecated) */
	VB2_RECOVERY_DEP_RW_TPM_ERROR = 0x44,

	/* RW firmware in dev mode, but dev switch is off */
	VB2_RECOVERY_RW_DEV_MISMATCH = 0x45,

	/* Shared data error in rewritable firmware */
	VB2_RECOVERY_RW_SHARED_DATA = 0x46,

	/* Test error from LoadKernel() */
	VB2_RECOVERY_RW_TEST_LK = 0x47,

	/* No bootable disk found (deprecated)*/
	VB2_RECOVERY_DEP_RW_NO_DISK = 0x48,

	/* Rebooting did not correct TPM_E_FAIL or TPM_E_FAILEDSELFTEST  */
	VB2_RECOVERY_TPM_E_FAIL = 0x49,

	/* TPM setup error in read-only firmware */
	VB2_RECOVERY_RO_TPM_S_ERROR = 0x50,

	/* TPM write error in read-only firmware */
	VB2_RECOVERY_RO_TPM_W_ERROR = 0x51,

	/* TPM lock error in read-only firmware */
	VB2_RECOVERY_RO_TPM_L_ERROR = 0x52,

	/* TPM update error in read-only firmware */
	VB2_RECOVERY_RO_TPM_U_ERROR = 0x53,

	/* TPM read error in rewritable firmware */
	VB2_RECOVERY_RW_TPM_R_ERROR = 0x54,

	/* TPM write error in rewritable firmware */
	VB2_RECOVERY_RW_TPM_W_ERROR = 0x55,

	/* TPM lock error in rewritable firmware */
	VB2_RECOVERY_RW_TPM_L_ERROR = 0x56,

	/* EC software sync unable to get EC image hash */
	VB2_RECOVERY_EC_HASH_FAILED = 0x57,

	/* EC software sync invalid image hash size */
	VB2_RECOVERY_EC_HASH_SIZE    = 0x58,

	/* Unspecified error while trying to load kernel */
	VB2_RECOVERY_LK_UNSPECIFIED  = 0x59,

	/* No bootable storage device in system */
	VB2_RECOVERY_RW_NO_DISK      = 0x5a,

	/* No bootable kernel found on disk */
	VB2_RECOVERY_RW_NO_KERNEL    = 0x5b,

	/* BCB related error in RW firmware */
	VB2_RECOVERY_RW_BCB_ERROR    = 0x5c,

	/* New error codes from VB2 */
	/* TODO: may need to add strings for these in the original fwlib */

	/* Secure data inititalization error */
	VB2_RECOVERY_SECDATAK_INIT = 0x5d,

	/* Fastboot mode requested in firmware */
	VB2_RECOVERY_FW_FASTBOOT     = 0x5e,

	/* Unspecified/unknown error in rewritable firmware */
	VB2_RECOVERY_RW_UNSPECIFIED  = 0x7f,

	/* DM-verity error */
	VB2_RECOVERY_KE_DM_VERITY    = 0x81,

	/* Unspecified/unknown error in kernel */
	VB2_RECOVERY_KE_UNSPECIFIED  = 0xbf,

	/* Recovery mode test from user-mode */
	VB2_RECOVERY_US_TEST         = 0xc1,

	/* Recovery requested by user-mode via BCB */
	VB2_RECOVERY_BCB_USER_MODE   = 0xc2,

	/* Fastboot mode requested by user-mode */
	VB2_RECOVERY_US_FASTBOOT     = 0xc3,

	/* Unspecified/unknown error in user-mode */
	VB2_RECOVERY_US_UNSPECIFIED  = 0xff,
};

