Change-Id: Iea569fd457b3cd1f4746fbc6a96319eb42733a6b Signed-off-by: Martin Roth <gaumless@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80586 Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
		
			
				
	
	
		
			186 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			186 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ## SPDX-License-Identifier: GPL-2.0-only
 | |
| 
 | |
| menu "Payload"
 | |
| 
 | |
| config PAYLOAD_NONE
 | |
| 	bool "Don't add a payload"
 | |
| 	default y if !ARCH_X86
 | |
| 	help
 | |
| 	  Select this option if you want to create an "empty" coreboot
 | |
| 	  ROM image for a certain mainboard, i.e. a coreboot ROM image
 | |
| 	  which does not yet contain a payload.
 | |
| 
 | |
| 	  For such an image to be useful, you have to use 'cbfstool'
 | |
| 	  to add a payload to the ROM image later.
 | |
| 
 | |
| if !PAYLOAD_NONE
 | |
| choice
 | |
| 	prompt "Payload to add"
 | |
| 	default PAYLOAD_SEABIOS if ARCH_X86
 | |
| 
 | |
| config PAYLOAD_ELF
 | |
| 	bool "An ELF executable payload"
 | |
| 	help
 | |
| 	  Select this option if you have a payload image (an ELF file)
 | |
| 	  which coreboot should run as soon as the basic hardware
 | |
| 	  initialization is completed.
 | |
| 
 | |
| 	  You will be able to specify the location and file name of the
 | |
| 	  payload image later.
 | |
| 
 | |
| config PAYLOAD_FIT
 | |
| 	bool "A FIT payload"
 | |
| 	depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM
 | |
| 	select PAYLOAD_FIT_SUPPORT
 | |
| 	help
 | |
| 	  Select this option if you have a payload image (a FIT file) which
 | |
| 	  coreboot should run as soon as the basic hardware initialization
 | |
| 	  is completed.
 | |
| 
 | |
| 	  You will be able to specify the location and file name of the
 | |
| 	  payload image later.
 | |
| 
 | |
| source "payloads/external/*/Kconfig.name"
 | |
| 
 | |
| endchoice
 | |
| 
 | |
| source "payloads/external/*/Kconfig"
 | |
| 
 | |
| config PAYLOAD_FILE
 | |
| 	string "Payload path and filename"
 | |
| 	depends on PAYLOAD_ELF || PAYLOAD_FIT
 | |
| 	default "payload.elf" if PAYLOAD_ELF
 | |
| 	default "uImage" if PAYLOAD_FIT
 | |
| 	help
 | |
| 	  The path and filename of the ELF executable file to use as payload.
 | |
| 
 | |
| choice
 | |
| 	prompt "Payload compression algorithm"
 | |
| 	default COMPRESSED_PAYLOAD_LZMA
 | |
| 	default COMPRESSED_PAYLOAD_NONE if PAYLOAD_LINUX || PAYLOAD_LINUXBOOT || PAYLOAD_FIT
 | |
| 	depends on !PAYLOAD_LINUX && !PAYLOAD_LINUXBOOT && !PAYLOAD_FIT
 | |
| 	help
 | |
| 	  Choose the compression algorithm for the chosen payloads.
 | |
| 	  You can choose between None, LZMA, or LZ4.
 | |
| 
 | |
| config COMPRESSED_PAYLOAD_NONE
 | |
| 	bool "Use no compression for payloads"
 | |
| 	help
 | |
| 	  Do not compress the payload.
 | |
| 
 | |
| config COMPRESSED_PAYLOAD_LZMA
 | |
| 	bool "Use LZMA compression for payloads"
 | |
| 	help
 | |
| 	  In order to reduce the size payloads take up in the ROM chip
 | |
| 	  coreboot can compress them using the LZMA algorithm.
 | |
| 
 | |
| config COMPRESSED_PAYLOAD_LZ4
 | |
| 	bool "Use LZ4 compression for payloads"
 | |
| 	help
 | |
| 	  In order to reduce the size payloads take up in the ROM chip
 | |
| 	  coreboot can compress them using the LZ4 algorithm.
 | |
| endchoice
 | |
| 
 | |
| config PAYLOAD_OPTIONS
 | |
| 	string "Additional cbfstool options"
 | |
| 	default ""
 | |
| 	help
 | |
| 	  Additional cbfstool options for the payload
 | |
| 
 | |
| config PAYLOAD_IS_FLAT_BINARY
 | |
| 	bool "Payload is a flat binary"
 | |
| 	default n
 | |
| 	help
 | |
| 	  Add the payload to cbfs as a flat binary type instead of as an
 | |
| 	  elf payload
 | |
| 
 | |
| config PAYLOAD_FIT_SUPPORT
 | |
| 	bool "FIT support"
 | |
| 	default n
 | |
| 	default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV)
 | |
| 	depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM
 | |
| 	select FLATTENED_DEVICE_TREE
 | |
| 	help
 | |
| 	  Select this option if your payload is of type FIT.
 | |
| 	  Enables FIT parser and devicetree patching. The FIT is non
 | |
| 	  self-extracting and needs to have a compatible compression format.
 | |
| 
 | |
| config COMPRESS_SECONDARY_PAYLOAD
 | |
| 	bool "Use LZMA compression for secondary payloads"
 | |
| 	default y
 | |
| 	help
 | |
| 	  In order to reduce the size secondary payloads take up in the
 | |
| 	  ROM chip they can be compressed using the LZMA algorithm.
 | |
| 
 | |
| menu "Secondary Payloads"
 | |
| 
 | |
| config COREINFO_SECONDARY_PAYLOAD
 | |
| 	bool "Load coreinfo as a secondary payload"
 | |
| 	default n
 | |
| 	depends on ARCH_X86
 | |
| 	help
 | |
| 	  coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
 | |
| 	  or any other payload that can load additional payloads.
 | |
| 
 | |
| config GRUB2_SECONDARY_PAYLOAD
 | |
| 	bool "Load GRUB2 as a secondary payload"
 | |
| 	default n
 | |
| 	depends on !PAYLOAD_GRUB2
 | |
| 	select PAYLOAD_BUILD_GRUB2
 | |
| 	help
 | |
| 	  GRUB2 can be loaded as a secondary payload under SeaBIOS or any
 | |
| 	  other payload that can load additional payloads.
 | |
| 
 | |
| config MEMTEST_SECONDARY_PAYLOAD
 | |
| 	bool "Load Memtest86+ as a secondary payload"
 | |
| 	default n
 | |
| 	depends on ARCH_X86
 | |
| 	help
 | |
| 	  Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
 | |
| 	  or any other payload that can load additional payloads.
 | |
| 
 | |
| config NVRAMCUI_SECONDARY_PAYLOAD
 | |
| 	bool "Load nvramcui as a secondary payload"
 | |
| 	default n
 | |
| 	depends on ARCH_X86 && HAVE_OPTION_TABLE
 | |
| 	help
 | |
| 	  nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB,
 | |
| 	  or any other payload that can load additional payloads.
 | |
| 
 | |
| config SEABIOS_SECONDARY_PAYLOAD
 | |
| 	bool "Load SeaBIOS as a secondary payload"
 | |
| 	default n
 | |
| 	depends on ARCH_X86
 | |
| 	depends on !PAYLOAD_SEABIOS
 | |
| 	depends on !PAYLOAD_SEAGRUB
 | |
| 	select PAYLOAD_BUILD_SEABIOS
 | |
| 	help
 | |
| 	  SeaBIOS can be loaded as a secondary payload under GRUB or any
 | |
| 	  other payload that can load additional payloads.
 | |
| 
 | |
| config TINT_SECONDARY_PAYLOAD
 | |
| 	bool "Load tint as a secondary payload"
 | |
| 	default n
 | |
| 	depends on ARCH_X86
 | |
| 	help
 | |
| 	  tint can be loaded as a secondary payload under SeaBIOS, GRUB,
 | |
| 	  or any other payload that can load additional payloads.
 | |
| 
 | |
| config COREDOOM_SECONDARY_PAYLOAD
 | |
| 	bool "Load coreDOOM as a secondary payload"
 | |
| 	default n
 | |
| 	depends on ARCH_X86
 | |
| 	help
 | |
| 	  coreDOOM can be loaded as a secondary payload under SeaBIOS, GRUB,
 | |
| 	  or any other payload that can load additional payloads. Requires a
 | |
| 	  linear framebuffer. If built as a secondary payload for SeaBIOS, the
 | |
| 	  generated VGA BIOS option rom is also required.
 | |
| 
 | |
| source "payloads/external/*/Kconfig.secondary"
 | |
| 
 | |
| endmenu # "Secondary Payloads"
 | |
| 
 | |
| endif # !PAYLOAD_NONE
 | |
| 
 | |
| endmenu
 |