1 /* Copyright 2019 The ChromiumOS Authors 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 * 5 * Flags for vb2_gbb_header.flags. 6 * 7 * Should be imported externally via vb2_api.h. 8 */ 9 10 #ifndef VBOOT_REFERENCE_2GBB_FLAGS_H_ 11 #define VBOOT_REFERENCE_2GBB_FLAGS_H_ 12 13 #include "2return_codes.h" 14 15 enum vb2_gbb_flag { 16 /* 17 * Reduce the dev screen delay to 2 sec from 30 sec to speed up 18 * factory. 19 */ 20 VB2_GBB_FLAG_DEV_SCREEN_SHORT_DELAY = 1 << 0, 21 22 /* 23 * BIOS should load option ROMs from arbitrary PCI devices. We'll never 24 * enable this ourselves because it executes non-verified code, but if 25 * a customer wants to void their warranty and set this flag in the 26 * read-only flash, they should be able to do so. 27 * 28 * (TODO: Currently not supported. Mark as deprecated/unused?) 29 */ 30 VB2_GBB_FLAG_LOAD_OPTION_ROMS = 1 << 1, 31 32 /* 33 * The factory flow may need the BIOS to boot a non-ChromeOS kernel if 34 * the dev-switch is on. This flag allows that. 35 * 36 * (TODO: Currently not supported. Mark as deprecated/unused?) 37 */ 38 VB2_GBB_FLAG_ENABLE_ALTERNATE_OS = 1 << 2, 39 40 /* 41 * Force dev switch on, regardless of physical/keyboard dev switch 42 * position. 43 */ 44 VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON = 1 << 3, 45 46 /* 47 * Allow booting from external disk in dev mode even if 48 * dev_boot_usb=0. 49 */ 50 VB2_GBB_FLAG_FORCE_DEV_BOOT_USB = 1 << 4, 51 52 /* Disable firmware rollback protection. */ 53 VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK = 1 << 5, 54 55 /* Allow Enter key to trigger dev->tonorm screen transition */ 56 VB2_GBB_FLAG_ENTER_TRIGGERS_TONORM = 1 << 6, 57 58 /* Allow booting Legacy OSes in dev mode even if dev_boot_altfw=0. */ 59 VB2_GBB_FLAG_FORCE_DEV_BOOT_ALTFW = 1 << 7, 60 61 /* 62 * This flag must never be used by anyone for any reason. It was created to 63 * disable certain debugging features in vendor provided blobs so that they 64 * could be used while running FAFT, but the flag has been misused elsewhere 65 * and is now deprecated. 66 * TODO: Remove VB2_GBB_FLAG_RUNNING_FAFT 67 */ 68 VB2_GBB_FLAG_DEPRECATED_RUNNING_FAFT = 1 << 8, 69 VB2_GBB_FLAG_RUNNING_FAFT = 1 << 8, 70 71 /* Disable EC software sync */ 72 VB2_GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC = 1 << 9, 73 74 /* Default to booting legacy OS when dev screen times out */ 75 VB2_GBB_FLAG_DEFAULT_DEV_BOOT_ALTFW = 1 << 10, 76 77 /* Disable auxiliary firmware (auxfw) software sync */ 78 VB2_GBB_FLAG_DISABLE_AUXFW_SOFTWARE_SYNC = 1 << 11, 79 80 /* Disable shutdown on lid closed */ 81 VB2_GBB_FLAG_DISABLE_LID_SHUTDOWN = 1 << 12, 82 83 /* 84 * Allow full fastboot capability in firmware even if 85 * dev_boot_fastboot_full_cap=0. Deprecated; see chromium:995172. 86 */ 87 VB2_GBB_FLAG_DEPRECATED_FORCE_DEV_BOOT_FASTBOOT_FULL_CAP = 1 << 13, 88 89 /* Recovery mode always assumes manual recovery, even if EC_IN_RW=1 */ 90 VB2_GBB_FLAG_FORCE_MANUAL_RECOVERY = 1 << 14, 91 92 /* Disable FWMP */ 93 VB2_GBB_FLAG_DISABLE_FWMP = 1 << 15, 94 95 /* Enable USB Device Controller */ 96 VB2_GBB_FLAG_ENABLE_UDC = 1 << 16, 97 98 /* Enforce CSE SYNC, even if current CSE is same as CBFS CSE */ 99 VB2_GBB_FLAG_FORCE_CSE_SYNC = 1 << 17, 100 }; 101 102 vb2_error_t vb2_get_gbb_flag_description(enum vb2_gbb_flag flag, 103 const char **name, 104 const char **description); 105 106 #endif /* VBOOT_REFERENCE_2GBB_FLAGS_H_ */ 107