Skip to content

Commit ff80a17

Browse files
committed
[build] Sort general configuration in order of approachability
Reorder sections within config/general.h so that portions that are easier to understand and more likely to be modified are towards the top of the file, with more obscure and less frequently modified options moved lower down. Signed-off-by: Michael Brown <mcb30@ipxe.org>
1 parent 360c0f3 commit ff80a17

1 file changed

Lines changed: 113 additions & 121 deletions

File tree

src/config/general.h

Lines changed: 113 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,6 @@ FILE_SECBOOT ( PERMITTED );
1212

1313
#include <config/defaults.h>
1414

15-
/*****************************************************************************
16-
*
17-
* Banner timeout configuration
18-
*
19-
* This controls the timeout for the "Press Ctrl-B for the iPXE
20-
* command line" banner displayed when iPXE starts up. The value is
21-
* specified in tenths of a second for which the banner should appear.
22-
* A value of 0 disables the banner.
23-
*
24-
* ROM_BANNER_TIMEOUT controls the "Press Ctrl-B to configure iPXE"
25-
* banner displayed only by ROM builds of iPXE during POST. This
26-
* defaults to being twice the length of BANNER_TIMEOUT, to allow for
27-
* BIOSes that switch video modes immediately before calling the
28-
* initialisation vector, thus rendering the banner almost invisible
29-
* to the user.
30-
*/
31-
32-
#define BANNER_TIMEOUT 20
33-
#define ROM_BANNER_TIMEOUT ( 2 * BANNER_TIMEOUT )
34-
3515
/*****************************************************************************
3616
*
3717
* Network protocols
@@ -53,17 +33,6 @@ FILE_SECBOOT ( PERMITTED );
5333
#undef NET_PROTO_LLDP
5434
#endif
5535

56-
/*****************************************************************************
57-
*
58-
* PXE support
59-
*
60-
*/
61-
62-
#if defined ( PLATFORM_pcbios )
63-
#define PXE_MENU /* PXE menu booting */
64-
#define PXE_STACK /* PXE stack in iPXE - you want this! */
65-
#endif
66-
6736
/*****************************************************************************
6837
*
6938
* Download protocols
@@ -83,6 +52,13 @@ FILE_SECBOOT ( PERMITTED );
8352
#define DOWNLOAD_PROTO_FILE /* Local filesystem access */
8453
#endif
8554

55+
/* HTTP(S) protocol extensions */
56+
#define HTTP_AUTH_BASIC /* Basic authentication */
57+
#define HTTP_AUTH_DIGEST /* Digest authentication */
58+
//#define HTTP_AUTH_NTLM /* NTLM authentication */
59+
//#define HTTP_ENC_PEERDIST /* PeerDist content encoding */
60+
//#define HTTP_HACK_GCE /* Google Compute Engine hacks */
61+
8662
/*****************************************************************************
8763
*
8864
* SAN boot protocols
@@ -100,50 +76,69 @@ FILE_SECBOOT ( PERMITTED );
10076

10177
/*****************************************************************************
10278
*
103-
* HTTP extensions
104-
*
105-
*/
106-
107-
#define HTTP_AUTH_BASIC /* Basic authentication */
108-
#define HTTP_AUTH_DIGEST /* Digest authentication */
109-
//#define HTTP_AUTH_NTLM /* NTLM authentication */
110-
//#define HTTP_ENC_PEERDIST /* PeerDist content encoding */
111-
//#define HTTP_HACK_GCE /* Google Compute Engine hacks */
112-
113-
/*****************************************************************************
114-
*
115-
* 802.11 cryptosystems and handshaking protocols
79+
* Command-line and script commands
11680
*
11781
*/
11882

119-
#define CRYPTO_80211_WEP /* WEP encryption (deprecated and insecure!) */
120-
#define CRYPTO_80211_WPA /* WPA Personal, with passphrase */
121-
#define CRYPTO_80211_WPA2 /* Add support for stronger WPA cryptography */
122-
123-
/*****************************************************************************
124-
*
125-
* 802.1x EAP authentication methods
126-
*
127-
*/
83+
/* Commands supported on all platforms */
84+
#define AUTOBOOT_CMD /* Automatic booting */
85+
//#define CERT_CMD /* Certificate management commands */
86+
#define CONFIG_CMD /* Option configuration console */
87+
//#define CONSOLE_CMD /* Console command */
88+
//#define DIGEST_CMD /* Image crypto digest commands */
89+
#define DHCP_CMD /* DHCP management commands */
90+
#define FCMGMT_CMD /* Fibre Channel management commands */
91+
#define FORM_CMD /* Form commands */
92+
#define IBMGMT_CMD /* Infiniband management commands */
93+
#define IFMGMT_CMD /* Interface management commands */
94+
#define IMAGE_CMD /* Image management commands */
95+
#define IMAGE_ARCHIVE_CMD /* Archive image management commands */
96+
//#define IMAGE_CRYPT_CMD /* Image encryption management commands */
97+
//#define IMAGE_MEM_CMD /* Read memory command */
98+
//#define IMAGE_TRUST_CMD /* Image trust management commands */
99+
//#define IPSTAT_CMD /* IP statistics commands */
100+
#define IWMGMT_CMD /* Wireless interface management commands */
101+
#define LOGIN_CMD /* Login command */
102+
//#define LOTEST_CMD /* Loopback testing commands */
103+
#define MENU_CMD /* Menu commands */
104+
//#define NEIGHBOUR_CMD /* Neighbour management commands */
105+
//#define NSLOOKUP_CMD /* DNS resolving command */
106+
//#define NTP_CMD /* NTP commands */
107+
#define NVO_CMD /* Non-volatile option storage commands */
108+
//#define PARAM_CMD /* Request parameter commands */
109+
//#define PCI_CMD /* PCI commands */
110+
//#define PING_CMD /* Ping command */
111+
//#define PROFSTAT_CMD /* Profiling commands */
112+
//#define PXE_CMD /* PXE commands */
113+
#define ROUTE_CMD /* Routing table management commands */
114+
#define SANBOOT_CMD /* SAN boot commands */
115+
#define SHELL_CMD /* Shell command */
116+
#define SHIM_CMD /* EFI shim command (or dummy command) */
117+
#define SYNC_CMD /* Sync command */
118+
//#define TIME_CMD /* Time commands */
119+
//#define USB_CMD /* USB commands */
120+
//#define VLAN_CMD /* VLAN commands */
128121

129-
#define EAP_METHOD_MD5 /* MD5-Challenge port authentication */
130-
//#define EAP_METHOD_MSCHAPV2 /* MS-CHAPv2 port authentication */
122+
/* Commands supported only on systems capable of rebooting */
123+
#if ! defined ( REBOOT_NULL )
124+
#define POWEROFF_CMD /* Power off command */
125+
#define REBOOT_CMD /* Reboot command */
126+
#endif
131127

132-
/*****************************************************************************
133-
*
134-
* Name resolution modules
135-
*
136-
*/
128+
/* Commands supported only on systems that may use FDTs */
129+
#if ! defined ( FDT_NULL )
130+
#define FDT_CMD /* Flattened Device Tree commands */
131+
#endif
137132

138-
#define DNS_RESOLVER /* DNS resolver */
133+
/* Commands supported only on x86 CPUs */
134+
#if defined ( __i386__ ) || defined ( __x86_64__ )
135+
#define CPUID_CMD /* x86 CPU feature detection command */
136+
#endif
139137

140138
/*****************************************************************************
141139
*
142140
* Image types
143141
*
144-
* iPXE supports various image formats. Select whichever ones you
145-
* want to use.
146-
*
147142
*/
148143

149144
/* Image types supported on all platforms */
@@ -192,65 +187,52 @@ FILE_SECBOOT ( PERMITTED );
192187

193188
/*****************************************************************************
194189
*
195-
* Command-line and script commands to include
190+
* Banner timeout configuration
196191
*
192+
* This controls the timeout for the "Press Ctrl-B for the iPXE
193+
* command line" banner displayed when iPXE starts up. The value is
194+
* specified in tenths of a second for which the banner should appear.
195+
* A value of 0 disables the banner.
196+
*
197+
* ROM_BANNER_TIMEOUT controls the "Press Ctrl-B to configure iPXE"
198+
* banner displayed only by ROM builds of iPXE during POST. This
199+
* defaults to being twice the length of BANNER_TIMEOUT, to allow for
200+
* BIOSes that switch video modes immediately before calling the
201+
* initialisation vector, thus rendering the banner almost invisible
202+
* to the user.
197203
*/
198204

199-
/* Commands supported on all platforms */
200-
#define AUTOBOOT_CMD /* Automatic booting */
201-
//#define CERT_CMD /* Certificate management commands */
202-
#define CONFIG_CMD /* Option configuration console */
203-
//#define CONSOLE_CMD /* Console command */
204-
//#define DIGEST_CMD /* Image crypto digest commands */
205-
#define DHCP_CMD /* DHCP management commands */
206-
#define FCMGMT_CMD /* Fibre Channel management commands */
207-
#define FORM_CMD /* Form commands */
208-
#define IBMGMT_CMD /* Infiniband management commands */
209-
#define IFMGMT_CMD /* Interface management commands */
210-
#define IMAGE_CMD /* Image management commands */
211-
#define IMAGE_ARCHIVE_CMD /* Archive image management commands */
212-
//#define IMAGE_CRYPT_CMD /* Image encryption management commands */
213-
//#define IMAGE_MEM_CMD /* Read memory command */
214-
//#define IMAGE_TRUST_CMD /* Image trust management commands */
215-
//#define IPSTAT_CMD /* IP statistics commands */
216-
#define IWMGMT_CMD /* Wireless interface management commands */
217-
#define LOGIN_CMD /* Login command */
218-
//#define LOTEST_CMD /* Loopback testing commands */
219-
#define MENU_CMD /* Menu commands */
220-
//#define NEIGHBOUR_CMD /* Neighbour management commands */
221-
//#define NSLOOKUP_CMD /* DNS resolving command */
222-
//#define NTP_CMD /* NTP commands */
223-
#define NVO_CMD /* Non-volatile option storage commands */
224-
//#define PARAM_CMD /* Request parameter commands */
225-
//#define PCI_CMD /* PCI commands */
226-
//#define PING_CMD /* Ping command */
227-
//#define PROFSTAT_CMD /* Profiling commands */
228-
//#define PXE_CMD /* PXE commands */
229-
#define ROUTE_CMD /* Routing table management commands */
230-
#define SANBOOT_CMD /* SAN boot commands */
231-
#define SHELL_CMD /* Shell command */
232-
#define SHIM_CMD /* EFI shim command (or dummy command) */
233-
#define SYNC_CMD /* Sync command */
234-
//#define TIME_CMD /* Time commands */
235-
//#define USB_CMD /* USB commands */
236-
//#define VLAN_CMD /* VLAN commands */
205+
#define BANNER_TIMEOUT 20
206+
#define ROM_BANNER_TIMEOUT ( 2 * BANNER_TIMEOUT )
237207

238-
/* Commands supported only on systems capable of rebooting */
239-
#if ! defined ( REBOOT_NULL )
240-
#define POWEROFF_CMD /* Power off command */
241-
#define REBOOT_CMD /* Reboot command */
242-
#endif
208+
/*****************************************************************************
209+
*
210+
* ROM-specific options
211+
*
212+
*/
243213

244-
/* Commands supported only on systems that may use FDTs */
245-
#if ! defined ( FDT_NULL )
246-
#define FDT_CMD /* Flattened Device Tree commands */
247-
#endif
214+
#define AUTOBOOT_ROM_FILTER /* Autoboot only devices matching our ROM */
215+
//#define NONPNP_HOOK_INT19 /* Hook INT19 on non-PnP BIOSes */
248216

249-
/* Commands supported only on x86 CPUs */
250-
#if defined ( __i386__ ) || defined ( __x86_64__ )
251-
#define CPUID_CMD /* x86 CPU feature detection command */
217+
/*****************************************************************************
218+
*
219+
* PXE support
220+
*
221+
*/
222+
223+
#if defined ( PLATFORM_pcbios )
224+
#define PXE_MENU /* PXE menu booting */
225+
#define PXE_STACK /* PXE stack in iPXE - you want this! */
252226
#endif
253227

228+
/*****************************************************************************
229+
*
230+
* Name resolution modules
231+
*
232+
*/
233+
234+
#define DNS_RESOLVER /* DNS resolver */
235+
254236
/*****************************************************************************
255237
*
256238
* Certificate sources
@@ -263,21 +245,31 @@ FILE_SECBOOT ( PERMITTED );
263245

264246
/*****************************************************************************
265247
*
266-
* ROM-specific options
248+
* Virtual network devices
267249
*
268250
*/
269251

270-
#define AUTOBOOT_ROM_FILTER /* Autoboot only devices matching our ROM */
271-
//#define NONPNP_HOOK_INT19 /* Hook INT19 on non-PnP BIOSes */
252+
#define VNIC_IPOIB /* Infiniband IPoIB virtual NICs */
253+
//#define VNIC_XSIGO /* Infiniband Xsigo virtual NICs */
272254

273255
/*****************************************************************************
274256
*
275-
* Virtual network devices
257+
* 802.1x EAP authentication methods
276258
*
277259
*/
278260

279-
#define VNIC_IPOIB /* Infiniband IPoIB virtual NICs */
280-
//#define VNIC_XSIGO /* Infiniband Xsigo virtual NICs */
261+
#define EAP_METHOD_MD5 /* MD5-Challenge port authentication */
262+
//#define EAP_METHOD_MSCHAPV2 /* MS-CHAPv2 port authentication */
263+
264+
/*****************************************************************************
265+
*
266+
* 802.11 cryptosystems and handshaking protocols
267+
*
268+
*/
269+
270+
#define CRYPTO_80211_WEP /* WEP encryption (deprecated and insecure!) */
271+
#define CRYPTO_80211_WPA /* WPA Personal, with passphrase */
272+
#define CRYPTO_80211_WPA2 /* Add support for stronger WPA cryptography */
281273

282274
/*****************************************************************************
283275
*

0 commit comments

Comments
 (0)