blob: 3106737c20a929863bada8e01d0acbb605f3084c [file] [log] [blame]
Daisuke Nojiri742fc8d2014-10-10 10:51:06 -07001## This file is part of the coreboot project.
2##
3## Copyright (C) 2014 The ChromiumOS Authors. All rights reserved.
4##
5## This program is free software; you can redistribute it and/or modify
6## it under the terms of the GNU General Public License as published by
7## the Free Software Foundation; version 2 of the License.
8##
9## This program is distributed in the hope that it will be useful,
10## but WITHOUT ANY WARRANTY; without even the implied warranty of
11## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12## GNU General Public License for more details.
13##
14## You should have received a copy of the GNU General Public License
15## along with this program; if not, write to the Free Software
Patrick Georgib890a122015-03-26 15:17:45 +010016## Foundation, Inc.
Daisuke Nojiri742fc8d2014-10-10 10:51:06 -070017##
18
Aaron Durbin57e37282015-04-28 16:17:25 -050019config VBOOT_STARTS_IN_BOOTBLOCK
Aaron Durbind2ab4e42015-05-08 16:01:31 -050020 bool "Vboot starts verifying in bootblock"
Aaron Durbin57e37282015-04-28 16:17:25 -050021 default n
22 depends on VBOOT_VERIFY_FIRMWARE
23 help
24 Firmware verification happens during or at the end of bootblock.
25
26config VBOOT_STARTS_IN_ROMSTAGE
Aaron Durbind2ab4e42015-05-08 16:01:31 -050027 bool "Vboot starts verifying in romstage"
Aaron Durbin57e37282015-04-28 16:17:25 -050028 default n
29 depends on VBOOT_VERIFY_FIRMWARE && !VBOOT_STARTS_IN_BOOTBLOCK
30 help
31 Firmware verification happens during or at the end of romstage.
32
Daisuke Nojiri5d302c72015-04-09 08:18:22 -070033config VBOOT2_MOCK_SECDATA
34 bool "Mock secdata for firmware verification"
35 default n
Aaron Durbin1124cec2015-04-22 10:41:42 -050036 depends on VBOOT_VERIFY_FIRMWARE
Daisuke Nojiri5d302c72015-04-09 08:18:22 -070037 help
38 Enabling VBOOT2_MOCK_SECDATA will mock secdata for the firmware
39 verification to avoid access to a secdata storage (typically TPM).
40 All operations for a secdata storage will be successful. This option
41 can be used during development when a TPM is not present or broken.
42 THIS SHOULD NOT BE LEFT ON FOR PRODUCTION DEVICES.
43
Vadim Bendebury30773d22015-03-20 16:11:13 -070044config VBOOT_DISABLE_DEV_ON_RECOVERY
45 bool "Disable dev mode on recovery requests"
46 default n
Aaron Durbin1124cec2015-04-22 10:41:42 -050047 depends on VBOOT_VERIFY_FIRMWARE
Vadim Bendebury30773d22015-03-20 16:11:13 -070048 help
49 When this option is enabled, the Chrome OS device leaves the
50 developer mode as soon as recovery request is detected. This is
51 handy on embedded devices with limited input capabilities.
Patrick Georgiefc6aa02015-04-27 18:13:50 +020052
Aaron Durbin57e37282015-04-28 16:17:25 -050053config SEPARATE_VERSTAGE
Aaron Durbind2ab4e42015-05-08 16:01:31 -050054 bool "Vboot verification is built into a separate stage"
Patrick Georgiefc6aa02015-04-27 18:13:50 +020055 default n
Aaron Durbin1124cec2015-04-22 10:41:42 -050056 depends on VBOOT_VERIFY_FIRMWARE
Patrick Georgiefc6aa02015-04-27 18:13:50 +020057
Aaron Durbin57e37282015-04-28 16:17:25 -050058config RETURN_FROM_VERSTAGE
Aaron Durbind2ab4e42015-05-08 16:01:31 -050059 bool "The separate verification stage returns to its caller"
Aaron Durbin57e37282015-04-28 16:17:25 -050060 default n
61 depends on SEPARATE_VERSTAGE
62 help
63 If this is set, the verstage returns back to the calling stage instead
64 of exiting to the succeeding stage so that the verstage space can be
65 reused by the succeeding stage. This is useful if a ram space is too
66 small to fit both the verstage and the succeeding stage.
Aaron Durbin5abcba72015-04-28 16:02:17 -050067
68# These VBOOT_X_INDEX are the position of X in FW_MAIN_A/B region. The index
69# table is created by cros_bundle_firmware at build time based on the positions
70# of the blobs listed in fmap.dts and stored at the top of FW_MAIN_A/B region.
71# Unfortunately, there is no programmatical link between the blob list and the
72# index number here.
73config VBOOT_ROMSTAGE_INDEX
74 hex "Romstage component index"
75 default 2
76 depends on VBOOT_VERIFY_FIRMWARE
77 help
78 This is the index of the romstage component in the verified
79 firmware block.
80
81config VBOOT_RAMSTAGE_INDEX
82 hex "Ramstage component index"
83 default 1
84 depends on VBOOT_VERIFY_FIRMWARE
85 help
86 This is the index of the ramstage component in the verified
87 firmware block.
88
89config VBOOT_REFCODE_INDEX
90 hex "Reference code firmware index"
91 default 1
92 depends on VBOOT_VERIFY_FIRMWARE
93 help
94 This is the index of the reference code component in the verified
95 firmware block.
96
97config VBOOT_BOOT_LOADER_INDEX
98 hex "Bootloader component index"
99 default 0
100 depends on VBOOT_VERIFY_FIRMWARE
101 help
102 This is the index of the bootloader component in the verified
103 firmware block.
Aaron Durbin0e571fd2015-05-08 17:14:15 -0500104
Aaron Durbine007b0c2015-06-08 14:57:31 -0500105config VBOOT_SECURE_OS_INDEX
106 hex "ARM64 Secure OS index"
107 default 0x5
108 depends on VBOOT_VERIFY_FIRMWARE
109 help
110 Secure OS software component used on ARM64 machines.
111
112config VBOOT_BL31_INDEX
113 hex "ARM64 BL31 index"
114 default 0x4
115 depends on VBOOT_VERIFY_FIRMWARE
116 help
117 This is the index of the BL31 program on ARM64 machines.
118
Aaron Durbin0e571fd2015-05-08 17:14:15 -0500119config VBOOT_DYNAMIC_WORK_BUFFER
120 bool "Vboot's work buffer is dynamically allocated."
121 default n
122 depends on VBOOT_VERIFY_FIRMWARE
123 help
124 This option is used when there isn't enough pre-main memory
125 ram to allocate the vboot work buffer. That means vboot verification
126 is after memory init and requires main memory to back the work
127 buffer.