xref: /aosp_15_r20/external/coreboot/src/cpu/intel/microcode/Makefile.mk (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1## SPDX-License-Identifier: GPL-2.0-only
2
3bootblock-$(CONFIG_MICROCODE_UPDATE_PRE_RAM) += microcode_asm.S
4
5bootblock-$(CONFIG_SUPPORT_CPU_UCODE_IN_CBFS) += microcode.c
6ramstage-$(CONFIG_SUPPORT_CPU_UCODE_IN_CBFS) += microcode.c
7romstage-$(CONFIG_SUPPORT_CPU_UCODE_IN_CBFS) += microcode.c
8
9# Pack individual microcodes per CPUID from CONFIG_CPU_INTEL_UCODE_SPLIT_BINARIES directory into the CBFS.
10ifeq ($(CONFIG_CPU_INTEL_MICROCODE_CBFS_SPLIT_BINS),y)
11microcode-params-dir := $(call strip_quotes,$(CONFIG_CPU_INTEL_UCODE_SPLIT_BINARIES))/
12microcode-params := $(shell find "$(microcode-params-dir)" -type f -exec basename {} \;)
13
14# Make "cpu_microcode_$(CPUID).bin" file entry into the FIT table
15$(call add_intermediate, add_mcu_fit, set_fit_ptr $(IFITTOOL))
16	$(foreach params, $(microcode-params), $(shell $(IFITTOOL) -f $< -a -n $(params) -t 1 \
17		-s $(CONFIG_CPU_INTEL_NUM_FIT_ENTRIES) -r COREBOOT)) true
18
19# Add "cpu_microcode_$(CPUID).bin" file into the CBFS
20$(foreach params,$(microcode-params), \
21	$(eval cbfs-files-y += $(params)) \
22	$(eval $(params)-file := $(microcode-params-dir)/$(params)) \
23	$(eval $(params)-type := microcode) \
24	$(eval $(params)-align := 16) \
25)
26
27endif
28