summaryrefslogtreecommitdiff
path: root/payloads/external/tianocore/Kconfig
blob: b7069aadddfe40d0378f980e3d0400890f9394b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
if PAYLOAD_TIANOCORE

config PAYLOAD_FILE
	string "Tianocore binary"
	default "payloads/external/tianocore/tianocore/Build/UEFIPAYLOAD.fd"
	help
	  The result of a UefiPayloadPkg build

choice
	prompt "Tianocore payload"
	default TIANOCORE_UEFIPAYLOAD
	help
	  Select which type of payload Tianocore will build (default is UefiPayload)
	  UefiPayload: MrChromebox's customized fork of Tianocore which works on most
	  x86_64 devices
	  Upstream: Use upstream Tianocore payload from https://github.com/tianocore/edk2
	  CorebootPayload: MrChromebox's customized fork of the deprecated CorebootPayloadPkg
	  Tianocore build target. It may work better on some older hardware (eg, x230)
	  which does not work properly with the UefiPayloadPkg options.

config TIANOCORE_UEFIPAYLOAD
	bool "UEFIPayload"
	help
	  Select this option to build using MrChromebox's custom Tianocore fork,
	  which incorporates fixes/improvements from System 76's and 9elements' trees.

config TIANOCORE_UPSTREAM
	bool "Upstream"
	help
	  Select this option if you want to use upstream EDK2 to build Tianocore.

config TIANOCORE_COREBOOTPAYLOAD
	bool "CorebootPayload"
	help
	  Select this option to build using MrChromebox's older (now deprecated)
	  CorebootPayloadPkg-based Tianocore branch

endchoice

config TIANOCORE_REVISION_ID
	string "Insert a commit's SHA-1 or a branch name"
	help
	   The commit's SHA-1 or branch name of the revision to use. Choose "upstream/master"
	   for master branch of Tianocore release on github.

choice
	prompt "Tianocore build"
	default TIANOCORE_RELEASE
	help
	  Select whether to generate a debug or release build for
	  Tianocore; default is to generate a release build.

config TIANOCORE_DEBUG
	bool "Generate Tianocore debug build"
	help
	  Generate a debug build.

config TIANOCORE_RELEASE
	bool "Generate Tianocore release build"
	help
	  Generate a release build.

endchoice

if TIANOCORE_UEFIPAYLOAD

config TIANOCORE_CBMEM_LOGGING
	bool "Enable Tianocore logging to CBMEM"
	help
	  Select this option if you want to enable Tianocore logging to CBMEM.
	  You may want to increase the default cbmem buffer size when selecting
	  this option, especially if using a debug (vs release) build.
	  Selecting this option will increase the payload size in CBFS by ~220KB.

config TIANOCORE_BOOTSPLASH_IMAGE
	bool "Use a custom bootsplash image"
	help
	  Select this option if you have a bootsplash image that you would
	  like to be used. If this option is not selected, the default
	  coreboot logo (European Brown Hare) will used.

config TIANOCORE_BOOTSPLASH_FILE
	string "Tianocore Bootsplash path and filename"
	depends on TIANOCORE_BOOTSPLASH_IMAGE
	default "bootsplash.bmp"
	help
	  The path and filename of the file to use as graphical bootsplash
	  image. The file must be an uncompressed BMP.

	  This image will also be used as the BGRT boot image, which may
	  persist through your OS boot process, and will be displayed
	  vertically centered 38.2% from the top of the display.

	  See ACPI spec 6.3, 5.2.22 Boot Graphics Resource Table (BGRT), and
	  Microsoft's documentation on BGRT positioning:
	  Docs/Windows/Windows Drivers/Bring up guide/Boot screen components

	  Accordingly, the image used should be no taller/wider than 40% of
	  the display panel's native pixel height/width (or resolution set).

	  If an absolute path is not given, the path will assumed to be
	  relative to the coreboot root directory.

config TIANOCORE_ABOVE_4G_MEMORY
	bool "Enable above 4G memory"
	default n
	help
	  Select this option to enable Above 4G Decode. This will allow the
	  payload to use all of the memory, rather than an maximum of 4G.

	  Disabling this option, which will reserve memory above 4G, is
	  useful for bootloaders that are not fully 64-bit aware such as
	  Qubes R4.0.4 bootloader.

endif

if TIANOCORE_COREBOOTPAYLOAD

config TIANOCORE_USE_8254_TIMER
	bool "TianoCore 8254 Timer"
	help
	  Use 8254 Timer for legacy support.

endif

config TIANOCORE_BOOT_TIMEOUT
	int
	default 2
	help
	  The length of time in seconds for which the boot splash/menu prompt will be displayed.
	  For boards with an internal display, the default value of 2s is generally sufficient.
	  For boards without an internal display, a value of 5s is generally sufficient.

endif