soc/intel/elkhartlake/bootblock: Do initial SoC commit until bootblock
[coreboot.git] / payloads / external / Makefile.inc
blobef0990c9b7dc6f163f9aa5d2f16ed215f120a5b9
1 ################################################################################
2 ##
3 ##
4 ## Copyright (C) 2009-2010 coresystems GmbH
5 ## Copyright (C) 2015 Google Inc.
6 ## Copyright (C) 2017 Facebook Inc.
7 ##
8 ## SPDX-License-Identifier: GPL-2.0-only
10 # set up payload config and version files for later inclusion
11 ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
12 PAYLOAD_CONFIG=payloads/external/SeaBIOS/seabios/.config
13 PAYLOAD_VERSION=payloads/external/SeaBIOS/seabios/out/autoversion.h
14 endif
15 ifeq ($(CONFIG_PAYLOAD_FILO),y)
16 PAYLOAD_CONFIG=payloads/external/FILO/filo/.config
17 PAYLOAD_VERSION=payloads/external/FILO/filo/build/version.h
18 endif
19 ifeq ($(CONFIG_PAYLOAD_DEPTHCHARGE),y)
20 PAYLOAD_CONFIG=payloads/external/depthcharge/depthcharge/.config
21 $(PAYLOAD_CONFIG): payloads/external/depthcharge/depthcharge/build/depthcharge.elf
22 ifeq ($(call strip_quotes,$(CONFIG_MAINBOARD_DEPTHCHARGE)),)
23   BOARD=$(call ws_to_under,$(call strip_quotes,$(call tolower,$(CONFIG_MAINBOARD_PART_NUMBER))))
24 else
25   BOARD=$(CONFIG_MAINBOARD_DEPTHCHARGE)
26 endif
27 #TODO: Figure out version
28 endif
30 ifeq ($(CONFIG_PAYLOAD_LINUX)$(CONFIG_PAYLOAD_LINUXBOOT),y)
31 ifneq ($(strip $(call strip_quotes,$(CONFIG_LINUX_COMMAND_LINE))),)
32       ADDITIONAL_PAYLOAD_CONFIG+=-C $(CONFIG_LINUX_COMMAND_LINE)
33 endif
34 ifneq ($(strip $(call strip_quotes,$(CONFIG_LINUX_INITRD))),)
35 ifneq ($(CONFIG_LINUXBOOT_ARM64),y)
36       ADDITIONAL_PAYLOAD_CONFIG+=-I $(CONFIG_LINUX_INITRD)$(CONFIG_LINUXBOOT_INITRAMFS_SUFFIX)
37       prebuilt-files += $(strip $(call strip_quotes,$(CONFIG_LINUX_INITRD)))
38 endif
39 endif
40 endif
41 ifneq ($(strip $(call strip_quotes,$(CONFIG_PAYLOAD_OPTIONS))),)
42       ADDITIONAL_PAYLOAD_CONFIG+=$(strip $(call strip_quotes,$(CONFIG_PAYLOAD_OPTIONS)))
43 endif
45 cbfs-files-y += $(CONFIG_CBFS_PREFIX)/payload
46 $(CONFIG_CBFS_PREFIX)/payload-file := $(CONFIG_PAYLOAD_FILE)
47 ifeq ($(CONFIG_PAYLOAD_IS_FLAT_BINARY),y)
48 $(CONFIG_CBFS_PREFIX)/payload-type := flat-binary
49 else
50 $(CONFIG_CBFS_PREFIX)/payload-type := payload
51 endif
52 $(CONFIG_CBFS_PREFIX)/payload-compression := $(CBFS_PAYLOAD_COMPRESS_FLAG)
53 $(CONFIG_CBFS_PREFIX)/payload-options := $(ADDITIONAL_PAYLOAD_CONFIG)
55 cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += payload_config
56 payload_config-file := $(PAYLOAD_CONFIG)
57 payload_config-type := raw
59 cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += payload_revision
60 payload_revision-file := $(PAYLOAD_VERSION)
61 payload_revision-type := raw
63 cbfs-files-$(CONFIG_GRUB2_INCLUDE_RUNTIME_CONFIG_FILE) += etc/grub.cfg
64 etc/grub.cfg-file := $(CONFIG_GRUB2_RUNTIME_CONFIG_FILE)
65 etc/grub.cfg-type := raw
66 etc/grub.cfg-required := the GRUB runtime configuration file ($(CONFIG_GRUB2_RUNTIME_CONFIG_FILE))
68 # SeaBIOS
70 SEABIOS_CC_OFFSET=$(if $(filter %ccache,$(HOSTCC)),2,1)
71 payloads/external/SeaBIOS/seabios/out/bios.bin.elf: $(DOTCONFIG)
72         $(MAKE) -C payloads/external/SeaBIOS \
73                         HOSTCC="$(HOSTCC)" \
74                         CC=$(word $(SEABIOS_CC_OFFSET),$(CC_x86_32)) \
75                         CFLAGS="$(patsubst $(word $(SEABIOS_CC_OFFSET),$(CC_x86_32))%,,$(wordlist $(SEABIOS_CC_OFFSET),9999,$(CC_x86_32)))" \
76                         LD=$(word 1,$(LD_x86_32)) LDFLAGS="$(patsubst $(word 1,$(LD_x86_32))%,,$(LD_x86_32))" \
77                         OBJDUMP="$(OBJDUMP_x86_32)" \
78                         OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \
79                         AS="$(AS_x86_32)" IASL="$(IASL)" \
80                         CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \
81                         CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE) \
82                         CONFIG_SEABIOS_REVISION=$(CONFIG_SEABIOS_REVISION) \
83                         CONFIG_SEABIOS_REVISION_ID=$(CONFIG_SEABIOS_REVISION_ID) \
84                         CONFIG_PAYLOAD_CONFIGFILE=$(CONFIG_PAYLOAD_CONFIGFILE) \
85                         CONFIG_SEABIOS_THREAD_OPTIONROMS=$(CONFIG_SEABIOS_THREAD_OPTIONROMS) \
86                         CONFIG_SEABIOS_VGA_COREBOOT=$(CONFIG_SEABIOS_VGA_COREBOOT) \
87                         CONFIG_DRIVERS_UART_8250IO=$(CONFIG_DRIVERS_UART_8250IO) \
88                         CONFIG_DRIVERS_UART_8250MEM=$(CONFIG_DRIVERS_UART_8250MEM) \
89                         CONFIG_HUDSON_UART=$(CONFIG_HUDSON_UART) \
90                         CONFIG_CONSOLE_SERIAL=$(CONFIG_CONSOLE_SERIAL) \
91                         CONFIG_TTYS0_BASE=$(CONFIG_TTYS0_BASE) \
92                         CONFIG_SEABIOS_DEBUG_LEVEL=$(CONFIG_SEABIOS_DEBUG_LEVEL) \
93                         CONFIG_DRIVERS_UART_8250MEM_32=$(CONFIG_DRIVERS_UART_8250MEM_32) \
94                         CONFIG_ENABLE_HSUART=$(CONFIG_ENABLE_HSUART) \
95                         CONFIG_CONSOLE_UART_BASE_ADDRESS=$(CONFIG_CONSOLE_UART_BASE_ADDRESS) \
96                         CONFIG_SEABIOS_HARDWARE_IRQ=$(CONFIG_SEABIOS_HARDWARE_IRQ)
98 payloads/external/SeaBIOS/seabios/out/vgabios.bin: payloads/external/SeaBIOS/seabios/out/bios.bin.elf
99 payloads/external/SeaBIOS/seabios/.config: payloads/external/SeaBIOS/seabios/out/bios.bin.elf
100 payloads/external/SeaBIOS/seabios/out/autoversion.h: payloads/external/SeaBIOS/seabios/out/bios.bin.elf
102 # add a SeaBIOS bootorder file
103 ifneq ($(strip $(CONFIG_SEABIOS_BOOTORDER_FILE)),)
104 cbfs-files-y += bootorder
105 bootorder-file := $(strip $(CONFIG_SEABIOS_BOOTORDER_FILE))
106 bootorder-type := raw
107 endif
109 # Depthcharge
111 payloads/external/depthcharge/depthcharge/build/depthcharge.elf depthcharge: $(DOTCONFIG) $(CBFSTOOL)
112         $(MAKE) -C payloads/external/depthcharge \
113                 BOARD=$(BOARD) \
114                 MFLAGS= MAKEFLAGS= \
115                 DEPTHCHARGE_MASTER=$(CONFIG_DEPTHCHARGE_MASTER) \
116                 DEPTHCHARGE_STABLE=$(CONFIG_DEPTHCHARGE_STABLE) \
117                 DEPTHCHARGE_REVISION=$(CONFIG_DEPTHCHARGE_REVISION) \
118                 DEPTHCHARGE_REVISION_ID=$(CONFIG_DEPTHCHARGE_REVISION_ID) \
119                 OVERRIDE_DEFCONFIG=$(CONFIG_LP_DEFCONFIG_OVERRIDE)
121 # Tianocore
123 payloads/external/tianocore/tianocore/Build/UEFIPAYLOAD.fd tianocore: $(DOTCONFIG)
124         $(MAKE) -C payloads/external/tianocore all \
125                 HOSTCC="$(HOSTCC)" \
126                 CC="$(HOSTCC)" \
127                 CONFIG_TIANOCORE_REVISION_ID=$(CONFIG_TIANOCORE_REVISION_ID) \
128                 CONFIG_TIANOCORE_DEBUG=$(CONFIG_TIANOCORE_DEBUG) \
129                 CONFIG_TIANOCORE_TARGET_IA32=$(CONFIG_TIANOCORE_TARGET_IA32) \
130                 CONFIG_TIANOCORE_USE_8254_TIMER=$(CONFIG_TIANOCORE_USE_8254_TIMER) \
131                 CONFIG_TIANOCORE_BOOTSPLASH_FILE=$(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \
132                 CONFIG_TIANOCORE_UEFIPAYLOAD=$(CONFIG_TIANOCORE_UEFIPAYLOAD) \
133                 CONFIG_TIANOCORE_COREBOOTPAYLOAD=$(CONFIG_TIANOCORE_COREBOOTPAYLOAD) \
134                 CONFIG_MMCONF_BASE_ADDRESS=$(CONFIG_MMCONF_BASE_ADDRESS) \
135                 GCC_CC_x86_32=$(GCC_CC_x86_32) \
136                 GCC_CC_x86_64=$(GCC_CC_x86_64) \
137                 GCC_CC_arm=$(GCC_CC_arm) \
138                 GCC_CC_arm64=$(GCC_CC_arm64) \
139                 OBJCOPY_x86_32=$(OBJCOPY_x86_32) \
140                 OBJCOPY_x86_64=$(OBJCOPY_x86_64) \
141                 OBJCOPY_arm=$(OBJCOPY_arm) \
142                 OBJCOPY_arm64=$(OBJCOPY_arm64) \
143                 MFLAGS= MAKEFLAGS=
145 # FILO
147 filo:
148         $(MAKE) -C payloads/external/FILO \
149                         HOSTCC="$(HOSTCC)" \
150                         CC="$(CC_x86_32)" LD="$(LD_x86_32)" OBJDUMP="$(OBJDUMP_x86_32)" \
151                         OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \
152                         CONFIG_FILO_MASTER=$(CONFIG_FILO_MASTER) \
153                         CONFIG_FILO_STABLE=$(CONFIG_FILO_STABLE)
155 payloads/external/FILO/filo/build/filo.elf: filo
156 payloads/external/FILO/filo/.config: filo
157 payloads/external/FILO/filo/build/version.h: filo
159 # Grub
161 grub2: $(obj)/config.h
162         $(MAKE) -C payloads/external/GRUB2 \
163                         HOSTCC="$(HOSTCC)" \
164                         CC="$(CC_x86_32)" LD="$(LD_x86_32)" \
165                         OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \
166                         CONFIG_DEP="$(abspath $(obj)/config.h)" \
167                         CONFIG_GRUB2_STABLE=$(CONFIG_GRUB2_STABLE) \
168                         CONFIG_GRUB2_MASTER=$(CONFIG_GRUB2_MASTER) \
169                         CONFIG_GRUB2_REVISION=$(CONFIG_GRUB2_REVISION) \
170                         CONFIG_GRUB2_REVISION_ID=$(CONFIG_GRUB2_REVISION_ID) \
171                         CONFIG_GRUB2_EXTRA_MODULES=$(CONFIG_GRUB2_EXTRA_MODULES)
173 payloads/external/GRUB2/grub2/build/default_payload.elf: grub2
175 # U-Boot
177 payloads/external/U-Boot/u-boot/u-boot-dtb.bin u-boot: $(DOTCONFIG)
178         $(MAKE) -C payloads/external/U-Boot \
179                         CONFIG_UBOOT_MASTER=$(CONFIG_UBOOT_MASTER) \
180                         CONFIG_UBOOT_STABLE=$(CONFIG_UBOOT_STABLE)
182 # TINT
184 payloads/external/tint/tint/tint.elf tint:
185         $(MAKE) -C payloads/external/tint
187 cbfs-files-$(CONFIG_TINT_SECONDARY_PAYLOAD) += img/tint
188 img/tint-file := payloads/external/tint/tint/tint.elf
189 img/tint-type := payload
190 img/tint-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
192 # Memtest86+
194 cbfs-files-$(CONFIG_MEMTEST_SECONDARY_PAYLOAD) += img/memtest
195 img/memtest-file := payloads/external/Memtest86Plus/memtest86plus/memtest
196 img/memtest-type := payload
197 img/memtest-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
199 ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy)
200         MEMTEST_SERIAL_OPTIONS=SERIAL_CONSOLE_DEFAULT=1 \
201                 SERIAL_TTY=$(CONFIG_UART_FOR_CONSOLE) \
202                 SERIAL_BAUD_RATE=$(CONFIG_TTYS0_BAUD)
203 endif
205 payloads/external/Memtest86Plus/memtest86plus/memtest: $(DOTCONFIG)
206         $(MAKE) -C payloads/external/Memtest86Plus all \
207                 CC="$(CC_x86_32)" \
208                 LD="$(LD_x86_32)" \
209                 OBJCOPY="$(OBJCOPY_x86_32)" \
210                 AS="$(AS_x86_32)" \
211                 CONFIG_MEMTEST_REVISION=$(CONFIG_MEMTEST_REVISION) \
212                 CONFIG_MEMTEST_REVISION_ID=$(CONFIG_MEMTEST_REVISION_ID) \
213                 CONFIG_MEMTEST_MASTER=$(CONFIG_MEMTEST_MASTER) \
214                 CONFIG_MEMTEST_STABLE=$(CONFIG_MEMTEST_STABLE) \
215                 $(MEMTEST_SERIAL_OPTIONS) \
216                 MFLAGS= MAKEFLAGS=
218 # iPXE
220 PXE_ROM_PCI_ID:=$(subst $(comma),,$(CONFIG_PXE_ROM_ID))
222 ifeq ($(CONFIG_PXE_ROM),y)
223 PXE_ROM_FILE:=$(CONFIG_PXE_ROM_FILE)
224 endif
225 ifeq ($(CONFIG_BUILD_IPXE),y)
226 PXE_ROM_FILE:=payloads/external/iPXE/ipxe/ipxe.rom
227 endif
228 ifeq ($(CONFIG_PXE_ADD_SCRIPT),y)
229 PXE_CONFIG_SCRIPT:=$(abspath $(patsubst "%",%,$(CONFIG_PXE_SCRIPT)))
230 endif
231 ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy)
232 IPXE_UART=COM$(call int-add,$(CONFIG_UART_FOR_CONSOLE) 1)
233 endif
235 ifeq ($(CONFIG_PXE_SERIAL_CONSOLE),y)
236 IPXE_SERIAL_CONSOLE = $(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO)
237 else
238 IPXE_SERIAL_CONSOLE = n
239 endif
241 cbfs-files-$(CONFIG_PXE_ROM)$(CONFIG_BUILD_IPXE) += pci$(CONFIG_PXE_ROM_ID).rom
242 pci$(CONFIG_PXE_ROM_ID).rom-file := $(PXE_ROM_FILE)
243 pci$(CONFIG_PXE_ROM_ID).rom-type := raw
245 payloads/external/iPXE/ipxe/ipxe.rom ipxe: $(DOTCONFIG) $(PXE_CONFIG_SCRIPT)
246         $(MAKE) -C payloads/external/iPXE all \
247         CROSS_COMPILE="$(CROSS_COMPILE_$(ARCH-ramstage-y))" \
248         PXE_ROM_PCI_ID=$(PXE_ROM_PCI_ID) \
249         CONFIG_IPXE_MASTER=$(CONFIG_IPXE_MASTER) \
250         CONFIG_IPXE_STABLE=$(CONFIG_IPXE_STABLE) \
251         CONSOLE_SERIAL=$(IPXE_SERIAL_CONSOLE) \
252         IPXE_UART=$(IPXE_UART) \
253         CONFIG_TTYS0_BAUD=$(CONFIG_TTYS0_BAUD) \
254         CONFIG_SCRIPT=$(PXE_CONFIG_SCRIPT) \
255         CONFIG_HAS_SCRIPT=$(CONFIG_PXE_ADD_SCRIPT) \
256         CONFIG_PXE_NO_PROMPT=$(CONFIG_PXE_NO_PROMPT) \
257         CONFIG_PXE_HAS_HTTPS=$(CONFIG_PXE_HAS_HTTPS) \
258         MFLAGS= MAKEFLAGS=
260 # LinuxBoot
262 linuxboot:
263         $(MAKE) -C payloads/external/LinuxBoot \
264                 CPUS=$(CPUS) \
265                 CONFIG_LINUXBOOT_X86_64=$(CONFIG_LINUXBOOT_X86_64) \
266                 CONFIG_LINUXBOOT_X86=$(CONFIG_LINUXBOOT_X86) \
267                 CONFIG_LINUXBOOT_ARM64=$(CONFIG_LINUXBOOT_ARM64) \
268                 CONFIG_LINUXBOOT_KERNEL=$(CONFIG_PAYLOAD_FILE) \
269                 CONFIG_LINUXBOOT_INITRAMFS=$(CONFIG_LINUX_INITRD) \
270                 CONFIG_LINUXBOOT_INITRAMFS_SUFFIX=$(CONFIG_LINUXBOOT_INITRAMFS_SUFFIX) \
271                 CONFIG_LINUXBOOT_COMPILE_KERNEL=$(CONFIG_LINUXBOOT_COMPILE_KERNEL) \
272                 CONFIG_LINUXBOOT_BUILD_INITRAMFS=$(CONFIG_LINUXBOOT_BUILD_INITRAMFS) \
273                 CONFIG_LINUXBOOT_KERNEL_MAINLINE=$(CONFIG_LINUXBOOT_KERNEL_MAINLINE) \
274                 CONFIG_LINUXBOOT_KERNEL_STABLE=$(CONFIG_LINUXBOOT_KERNEL_STABLE) \
275                 CONFIG_LINUXBOOT_KERNEL_LONGTERM=$(CONFIG_LINUXBOOT_KERNEL_LONGTERM) \
276                 CONFIG_LINUXBOOT_KERNEL_CUSTOM=$(CONFIG_LINUXBOOT_KERNEL_CUSTOM) \
277                 CONFIG_LINUXBOOT_KERNEL_CUSTOM_VERSION=$(CONFIG_LINUXBOOT_KERNEL_CUSTOM_VERSION) \
278                 CONFIG_LINUXBOOT_KERNEL_CUSTOM_CONFIG=$(CONFIG_LINUXBOOT_KERNEL_CUSTOM_CONFIG) \
279                 CONFIG_LINUXBOOT_KERNEL_BZIMAGE=$(CONFIG_LINUXBOOT_KERNEL_BZIMAGE) \
280                 CONFIG_LINUXBOOT_KERNEL_UIMAGE=$(CONFIG_LINUXBOOT_KERNEL_UIMAGE) \
281                 CONFIG_LINUXBOOT_KERNEL_CONFIGFILE=$(CONFIG_LINUXBOOT_KERNEL_CONFIGFILE) \
282                 CONFIG_LINUXBOOT_INITRAMFS_COMPRESSION_XZ=$(CONFIG_LINUXBOOT_INITRAMFS_COMPRESSION_XZ) \
283                 CONFIG_LINUXBOOT_UROOT=$(CONFIG_LINUXBOOT_UROOT) \
284                 CONFIG_LINUXBOOT_UROOT_VERSION=$(CONFIG_LINUXBOOT_UROOT_VERSION) \
285                 CONFIG_LINUXBOOT_UROOT_FORMAT=$(CONFIG_LINUXBOOT_UROOT_FORMAT) \
286                 CONFIG_LINUXBOOT_UROOT_INITCMD=$(CONFIG_LINUXBOOT_UROOT_INITCMD) \
287                 CONFIG_LINUXBOOT_UROOT_SHELL=$(CONFIG_LINUXBOOT_UROOT_SHELL) \
288                 CONFIG_LINUXBOOT_UROOT_COMMANDS=$(CONFIG_LINUXBOOT_UROOT_COMMANDS) \
289                 CONFIG_LINUXBOOT_UROOT_FILES=$(CONFIG_LINUXBOOT_UROOT_FILES) \
290                 CONFIG_LINUXBOOT_DTB_FILE=$(CONFIG_LINUXBOOT_DTB_FILE)
292 payloads/external/LinuxBoot/linuxboot/bzImage: linuxboot
293 payloads/external/LinuxBoot/linuxboot/uImage: linuxboot
294 payloads/external/LinuxBoot/linuxboot/initramfs_u-root.cpio: linuxboot
296 # Yabits
298 payloads/external/Yabits/uefi/build/uefi.elf yabits:
299         $(MAKE) -C payloads/external/Yabits all \
300                 XGCCPATH="$(XGCCPATH)" \
301                 CONFIG_YABITS_REVISION=$(CONFIG_YABITS_REVISION) \
302                 CONFIG_YABITS_REVISION_ID=$(CONFIG_YABITS_REVISION_ID) \
303                 CONFIG_YABITS_MASTER=$(CONFIG_YABITS_MASTER) \
304                 CONFIG_YABITS_STABLE=$(CONFIG_YABITS_STABLE) \
305                 MFLAGS= MAKEFLAGS=