| #ifndef CONFIG_GENERAL_H | |
| #define CONFIG_GENERAL_H | |
| /** @file | |
| * | |
| * General configuration | |
| * | |
| */ | |
| FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); | |
| FILE_SECBOOT ( PERMITTED ); | |
| #include <config/defaults.h> | |
| /***************************************************************************** | |
| * | |
| * Network protocols | |
| * | |
| */ | |
| /* Protocols supported on all platforms */ | |
| #define NET_PROTO_EAPOL /* EAP over LAN protocol */ | |
| //#define NET_PROTO_FCOE /* Fibre Channel over Ethernet protocol */ | |
| #define NET_PROTO_IPV4 /* IPv4 protocol */ | |
| #define NET_PROTO_IPV6 /* IPv6 protocol */ | |
| #define NET_PROTO_LACP /* Link Aggregation control protocol */ | |
| #define NET_PROTO_LLDP /* Link Layer Discovery protocol */ | |
| #define NET_PROTO_STP /* Spanning Tree protocol */ | |
| /* Disable protocols not historically included in BIOS builds */ | |
| #if defined ( PLATFORM_pcbios ) | |
| #undef NET_PROTO_IPV6 | |
| #undef NET_PROTO_LLDP | |
| #endif | |
| /***************************************************************************** | |
| * | |
| * Download protocols | |
| * | |
| */ | |
| /* Protocols supported on all platforms */ | |
| #define DOWNLOAD_PROTO_TFTP /* Trivial File Transfer Protocol */ | |
| #define DOWNLOAD_PROTO_HTTP /* Hypertext Transfer Protocol */ | |
| #define DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */ | |
| //#define DOWNLOAD_PROTO_FTP /* File Transfer Protocol */ | |
| //#define DOWNLOAD_PROTO_SLAM /* Scalable Local Area Multicast */ | |
| //#define DOWNLOAD_PROTO_NFS /* Network File System Protocol */ | |
| #define DOWNLOAD_PROTO_DATA /* Inline Data */ | |
| /* Protocols supported only on platforms with filesystem abstractions */ | |
| #if defined ( PLATFORM_efi ) | |
| #define DOWNLOAD_PROTO_FILE /* Local filesystem access */ | |
| #endif | |
| /* HTTP(S) protocol extensions */ | |
| #define HTTP_AUTH_BASIC /* Basic authentication */ | |
| #define HTTP_AUTH_DIGEST /* Digest authentication */ | |
| #define HTTP_AUTH_NTLM /* NTLM authentication */ | |
| //#define HTTP_ENC_PEERDIST /* PeerDist content encoding */ | |
| /* Disable protocols not historically included in BIOS builds */ | |
| #if defined ( PLATFORM_pcbios ) | |
| #undef DOWNLOAD_PROTO_HTTPS | |
| #undef HTTP_AUTH_NTLM | |
| #endif | |
| /***************************************************************************** | |
| * | |
| * SAN boot protocols | |
| * | |
| */ | |
| /* Protocols supported on all platforms with SAN boot abstractions */ | |
| #if ! defined ( SANBOOT_NULL ) | |
| #define SANBOOT_PROTO_AOE /* AoE protocol */ | |
| #define SANBOOT_PROTO_FCP /* Fibre Channel protocol */ | |
| #define SANBOOT_PROTO_HTTP /* HTTP SAN protocol */ | |
| #define SANBOOT_PROTO_IB_SRP /* Infiniband SCSI RDMA protocol */ | |
| #define SANBOOT_PROTO_ISCSI /* iSCSI protocol */ | |
| #endif | |
| /***************************************************************************** | |
| * | |
| * Command-line and script commands | |
| * | |
| */ | |
| /* Commands supported on all platforms */ | |
| #define AUTOBOOT_CMD /* Automatic booting */ | |
| #define CERT_CMD /* Certificate management commands */ | |
| #define CONFIG_CMD /* Option configuration console */ | |
| #define CONSOLE_CMD /* Console command */ | |
| #define DIGEST_CMD /* Image crypto digest commands */ | |
| #define DHCP_CMD /* DHCP management commands */ | |
| #define FCMGMT_CMD /* Fibre Channel management commands */ | |
| #define FORM_CMD /* Form commands */ | |
| #define IBMGMT_CMD /* Infiniband management commands */ | |
| #define IFMGMT_CMD /* Interface management commands */ | |
| #define IMAGE_CMD /* Image management commands */ | |
| #define IMAGE_ARCHIVE_CMD /* Archive image management commands */ | |
| //#define IMAGE_CRYPT_CMD /* Image encryption management commands */ | |
| //#define IMAGE_MEM_CMD /* Read memory command */ | |
| #define IMAGE_SET_CMD /* Image setting commands */ | |
| //#define IMAGE_TRUST_CMD /* Image trust management commands */ | |
| //#define IPSTAT_CMD /* IP statistics commands */ | |
| #define IWMGMT_CMD /* Wireless interface management commands */ | |
| #define LOGIN_CMD /* Login command */ | |
| //#define LOTEST_CMD /* Loopback testing commands */ | |
| #define MENU_CMD /* Menu commands */ | |
| //#define NEIGHBOUR_CMD /* Neighbour management commands */ | |
| //#define NSLOOKUP_CMD /* DNS resolving command */ | |
| #define NTP_CMD /* NTP commands */ | |
| #define NVO_CMD /* Non-volatile option storage commands */ | |
| #define PARAM_CMD /* Request parameter commands */ | |
| #define PCI_CMD /* PCI commands */ | |
| #define PEERMGMT_CMD /* PeerDist management commands */ | |
| //#define PING_CMD /* Ping command */ | |
| //#define PROFSTAT_CMD /* Profiling commands */ | |
| //#define PXE_CMD /* PXE commands */ | |
| #define ROUTE_CMD /* Routing table management commands */ | |
| #define SANBOOT_CMD /* SAN boot commands */ | |
| #define SHELL_CMD /* Shell command */ | |
| #define SHIM_CMD /* EFI shim command (or dummy command) */ | |
| #define SYNC_CMD /* Sync command */ | |
| //#define TIME_CMD /* Time commands */ | |
| #define USB_CMD /* USB commands */ | |
| #define VLAN_CMD /* VLAN commands */ | |
| /* Commands supported only on systems capable of rebooting */ | |
| #if ! defined ( REBOOT_NULL ) | |
| #define POWEROFF_CMD /* Power off command */ | |
| #define REBOOT_CMD /* Reboot command */ | |
| #endif | |
| /* Commands supported only on systems that may use FDTs */ | |
| #if ! defined ( FDT_NULL ) | |
| #define FDT_CMD /* Flattened Device Tree commands */ | |
| #endif | |
| /* Commands supported only on x86 CPUs */ | |
| #if defined ( __i386__ ) || defined ( __x86_64__ ) | |
| #define CPUID_CMD /* x86 CPU feature detection command */ | |
| #endif | |
| /* Disable commands not historically included in BIOS builds */ | |
| #if defined ( PLATFORM_pcbios ) | |
| #undef CERT_CMD | |
| #undef CONSOLE_CMD | |
| #undef DIGEST_CMD | |
| #undef NTP_CMD | |
| #undef PARAM_CMD | |
| #undef PCI_CMD | |
| #undef USB_CMD | |
| #undef VLAN_CMD | |
| #endif | |
| /***************************************************************************** | |
| * | |
| * Image types | |
| * | |
| */ | |
| /* Image types supported on all platforms */ | |
| #define IMAGE_DER /* ASN.1 DER-encoded image support */ | |
| //#define IMAGE_GZIP /* GZIP compressed image support */ | |
| #define IMAGE_PEM /* ASN.1 PEM-encoded image support */ | |
| //#define IMAGE_PNM /* PNM graphical image support */ | |
| #define IMAGE_PNG /* PNG graphical image support */ | |
| #define IMAGE_SCRIPT /* iPXE script image support */ | |
| //#define IMAGE_ZLIB /* ZLIB compressed image support */ | |
| //#define IMAGE_MIME /* MIME image support */ | |
| /* Image types supported only on BIOS platforms */ | |
| #if defined ( PLATFORM_pcbios ) | |
| #define IMAGE_BZIMAGE /* Linux bzImage image support */ | |
| //#define IMAGE_COMBOOT /* SYSLINUX COMBOOT image support */ | |
| #define IMAGE_ELF /* ELF image support */ | |
| #define IMAGE_MULTIBOOT /* MultiBoot image support */ | |
| //#define IMAGE_NBI /* NBI image support */ | |
| #define IMAGE_PXE /* PXE image support */ | |
| //#define IMAGE_SDI /* SDI image support */ | |
| #endif | |
| /* Image types supported only on EFI platforms */ | |
| #if defined ( PLATFORM_efi ) | |
| #define IMAGE_EFI /* EFI image support */ | |
| #define IMAGE_EFISIG /* EFI signature list image support */ | |
| #endif | |
| /* Image types supported only on RISC-V SBI platforms */ | |
| #if defined ( PLATFORM_sbi ) | |
| #define IMAGE_LKRN /* Linux kernel image support */ | |
| #endif | |
| /* Image types supported only on x86 CPUs */ | |
| #if defined ( __i386__ ) || defined ( __x86_64__ ) | |
| //#define IMAGE_UCODE /* Microcode update image support */ | |
| #endif | |
| /* Enable commonly encountered compressed versions of some image types */ | |
| #if defined ( IMAGE_EFI ) && defined ( __aarch64__ ) | |
| #define IMAGE_GZIP | |
| #endif | |
| #if defined ( IMAGE_LKRN ) && defined ( __riscv ) | |
| #define IMAGE_GZIP | |
| #endif | |
| /***************************************************************************** | |
| * | |
| * Banner timeout configuration | |
| * | |
| * This controls the timeout for the "Press Ctrl-B for the iPXE | |
| * command line" banner displayed when iPXE starts up. The value is | |
| * specified in tenths of a second for which the banner should appear. | |
| * A value of 0 disables the banner. | |
| * | |
| * ROM_BANNER_TIMEOUT controls the "Press Ctrl-B to configure iPXE" | |
| * banner displayed only by ROM builds of iPXE during POST. This | |
| * defaults to being twice the length of BANNER_TIMEOUT, to allow for | |
| * BIOSes that switch video modes immediately before calling the | |
| * initialisation vector, thus rendering the banner almost invisible | |
| * to the user. | |
| */ | |
| #define BANNER_TIMEOUT 20 | |
| #define ROM_BANNER_TIMEOUT ( 2 * BANNER_TIMEOUT ) | |
| /***************************************************************************** | |
| * | |
| * ROM-specific options | |
| * | |
| */ | |
| #define AUTOBOOT_ROM_FILTER /* Autoboot only devices matching our ROM */ | |
| //#define NONPNP_HOOK_INT19 /* Hook INT19 on non-PnP BIOSes */ | |
| /***************************************************************************** | |
| * | |
| * PXE support | |
| * | |
| */ | |
| #if defined ( PLATFORM_pcbios ) | |
| #define PXE_MENU /* PXE menu booting */ | |
| #define PXE_STACK /* PXE stack in iPXE - you want this! */ | |
| #endif | |
| /***************************************************************************** | |
| * | |
| * Name resolution modules | |
| * | |
| */ | |
| #define DNS_RESOLVER /* DNS resolver */ | |
| /***************************************************************************** | |
| * | |
| * Certificate sources | |
| * | |
| */ | |
| #if defined ( PLATFORM_efi ) | |
| #define CERTS_EFI /* EFI certificate sources */ | |
| #endif | |
| /***************************************************************************** | |
| * | |
| * Virtual network devices | |
| * | |
| */ | |
| #define VNIC_IPOIB /* Infiniband IPoIB virtual NICs */ | |
| //#define VNIC_XSIGO /* Infiniband Xsigo virtual NICs */ | |
| /***************************************************************************** | |
| * | |
| * 802.1x EAP authentication methods | |
| * | |
| */ | |
| #define EAP_METHOD_MD5 /* MD5-Challenge port authentication */ | |
| //#define EAP_METHOD_MSCHAPV2 /* MS-CHAPv2 port authentication */ | |
| /***************************************************************************** | |
| * | |
| * 802.11 cryptosystems and handshaking protocols | |
| * | |
| */ | |
| #define CRYPTO_80211_WEP /* WEP encryption (deprecated and insecure!) */ | |
| #define CRYPTO_80211_WPA /* WPA Personal, with passphrase */ | |
| #define CRYPTO_80211_WPA2 /* Add support for stronger WPA cryptography */ | |
| /***************************************************************************** | |
| * | |
| * Very obscure configuration options | |
| * | |
| * You probably don't need to touch these. | |
| * | |
| */ | |
| //#define NULL_TRAP /* Attempt to catch NULL function calls */ | |
| //#define GDBSERIAL /* Remote GDB debugging over serial */ | |
| //#define GDBUDP /* Remote GDB debugging over UDP */ | |
| //#define EFI_DOWNGRADE_UX /* Downgrade UEFI user experience */ | |
| //#define ERRMSG_80211 /* All 802.11 error descriptions (~3.3kb) */ | |
| #include <config/named.h> | |
| #include NAMED_CONFIG(general.h) | |
| #include <config/local/general.h> | |
| #include LOCAL_NAMED_CONFIG(general.h) | |
| #endif /* CONFIG_GENERAL_H */ |