123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- From 830f8f67dd6ffd4520272eab60ad8aba76a4d41f Mon Sep 17 00:00:00 2001
- From: Leah Rowe <leah@libreboot.org>
- Date: Thu, 12 Oct 2023 01:20:23 +0100
- Subject: [PATCH 6/9] never enable cpu microcode, even if told to
- Signed-off-by: Leah Rowe <leah@libreboot.org>
- ---
- src/cpu/Makefile.mk | 55 -----------------------------------
- src/cpu/intel/fit/Makefile.mk | 46 -----------------------------
- 2 files changed, 101 deletions(-)
- diff --git a/src/cpu/Makefile.mk b/src/cpu/Makefile.mk
- index 0afe454c1e..9ae3a107bd 100644
- --- a/src/cpu/Makefile.mk
- +++ b/src/cpu/Makefile.mk
- @@ -11,61 +11,6 @@ subdirs-$(CONFIG_ARCH_X86) += x86
- subdirs-$(CONFIG_CPU_QEMU_X86) += qemu-x86
- subdirs-$(CONFIG_CPU_POWER9) += power9
-
- -$(eval $(call create_class_compiler,cpu_microcode,x86_32))
- -################################################################################
- -## Rules for building the microcode blob in CBFS
- -################################################################################
- -
- -cbfs-files-$(CONFIG_USE_CPU_MICROCODE_CBFS_BINS) += cpu_microcode_blob.bin
- -
- -ifeq ($(CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER),y)
- -cbfs-files-y += cpu_microcode_blob.bin
- -cpu_microcode_blob.bin-file = $(objgenerated)/microcode.bin
- -
- -$(objgenerated)/microcode.bin: $(call strip_quotes,$(CONFIG_CPU_MICROCODE_HEADER_FILES))
- - echo " util/scripts/ucode_h_to_bin.sh $(objgenerated)/microcode.bin \"$(CONFIG_CPU_MICROCODE_HEADER_FILES)\""
- - util/scripts/ucode_h_to_bin.sh $(objgenerated)/microcode.bin $(CONFIG_CPU_MICROCODE_HEADER_FILES)
- -endif
- -
- -ifeq ($(CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS),y)
- -$(obj)/cpu_microcode_blob.bin: cpu_microcode_bins := $(call strip_quotes,$(CONFIG_CPU_UCODE_BINARIES))
- -endif
- -# otherwise `cpu_microcode_bins` should be filled by platform makefiles
- -
- -# We just mash all microcode binaries together into one binary to rule them all.
- -# This approach assumes that the microcode binaries are properly padded, and
- -# their headers specify the correct size. This works fairly well on isolatied
- -# updates, such as Intel and some AMD microcode, but won't work very well if the
- -# updates are wrapped in a container, like AMD's microcode update container. If
- -# there is only one microcode binary (i.e. one container), then we don't have
- -# this issue, and this rule will continue to work.
- -$(obj)/cpu_microcode_blob.bin: $$(wildcard $$(cpu_microcode_bins)) $(DOTCONFIG)
- - for bin in $(cpu_microcode_bins); do \
- - if [ ! -f "$$bin" ]; then \
- - echo "Microcode error: $$bin does not exist"; \
- - NO_MICROCODE_FILE=1; \
- - fi; \
- - done; \
- - if [ -n "$$NO_MICROCODE_FILE" ]; then \
- - if [ -z "$(CONFIG_USE_BLOBS)" ] && [ -n "$(CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS)" ]; then \
- - echo "Try enabling binary-only repository in Kconfig 'General setup' menu."; \
- - fi; \
- - false; \
- - fi
- - $(if $(cpu_microcode_bins),,false) # fail if no file is given at all
- - @printf " MICROCODE $(subst $(obj)/,,$(@))\n"
- - @echo $(cpu_microcode_bins)
- - cat $(cpu_microcode_bins) > $@
- -
- -cpu_microcode_blob.bin-file ?= $(obj)/cpu_microcode_blob.bin
- -cpu_microcode_blob.bin-type := microcode
- -# The AMD LPC SPI DMA controller requires source files to be 64 byte aligned.
- -ifeq ($(CONFIG_SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA),y)
- -cpu_microcode_blob.bin-align := 64
- -else
- -cpu_microcode_blob.bin-align := 16
- -endif
- -
- ifneq ($(CONFIG_CPU_MICROCODE_CBFS_LOC),)
- cpu_microcode_blob.bin-COREBOOT-position := $(CONFIG_CPU_MICROCODE_CBFS_LOC)
- endif
- diff --git a/src/cpu/intel/fit/Makefile.mk b/src/cpu/intel/fit/Makefile.mk
- index f405c57744..a354595e85 100644
- --- a/src/cpu/intel/fit/Makefile.mk
- +++ b/src/cpu/intel/fit/Makefile.mk
- @@ -18,49 +18,3 @@ $(call add_intermediate, set_fit_ptr, $(IFITTOOL))
- $(IFITTOOL) -f $< -F -n intel_fit -r COREBOOT -c
-
- FIT_ENTRY=$(call strip_quotes, $(CONFIG_INTEL_TOP_SWAP_FIT_ENTRY_FMAP_REG))
- -
- -ifneq ($(CONFIG_UPDATE_IMAGE),y) # never update the bootblock
- -
- -ifneq ($(CONFIG_CPU_MICROCODE_CBFS_NONE)$(CONFIG_CPU_INTEL_MICROCODE_CBFS_SPLIT_BINS),y)
- -
- -$(call add_intermediate, add_mcu_fit, set_fit_ptr $(IFITTOOL))
- - @printf " UPDATE-FIT Microcode\n"
- - $(IFITTOOL) -f $< -a -n cpu_microcode_blob.bin -t 1 -s $(CONFIG_CPU_INTEL_NUM_FIT_ENTRIES) -r COREBOOT
- -
- -# Second FIT in TOP_SWAP bootblock
- -ifeq ($(CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK),y)
- -
- -$(call add_intermediate, set_ts_fit_ptr, $(IFITTOOL))
- - @printf " UPDATE-FIT Top Swap: set FIT pointer to table\n"
- - $(IFITTOOL) -f $< -F -n intel_fit_ts -r COREBOOT $(TS_OPTIONS)
- -
- -$(call add_intermediate, add_ts_mcu_fit, set_ts_fit_ptr $(IFITTOOL))
- - @printf " UPDATE-FIT Top Swap: Microcode\n"
- -ifneq ($(FIT_ENTRY),)
- - $(IFITTOOL) -f $< -A -n $(FIT_ENTRY) -t 1 -s $(CONFIG_CPU_INTEL_NUM_FIT_ENTRIES) $(TS_OPTIONS) -r COREBOOT
- -endif # FIT_ENTRY
- - $(IFITTOOL) -f $< -a -n cpu_microcode_blob.bin -t 1 -s $(CONFIG_CPU_INTEL_NUM_FIT_ENTRIES) $(TS_OPTIONS) -r COREBOOT
- -
- -cbfs-files-y += intel_fit_ts
- -intel_fit_ts-file := fit_table.c:struct
- -intel_fit_ts-type := intel_fit
- -intel_fit_ts-align := 16
- -
- -endif # CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK
- -
- -endif # CONFIG_CPU_MICROCODE_CBFS_NONE
- -
- -# Platform Boot Policy
- -ifeq ($(CONFIG_HAVE_PBP_BIN),y)
- -
- -cbfs-files-y += pbp.bin
- -pbp.bin-file := $(call strip_quotes,$(CONFIG_PBP_BIN_PATH))
- -pbp.bin-type := raw
- -
- -$(call add_intermediate, add_pbp_fit, set_fit_ptr $(IFITTOOL))
- - @printf " UPDATE-FIT Platform Boot Policy binary\n"
- - $(IFITTOOL) -f $< -a -n pbp.bin -t 4 -s $(CONFIG_CPU_INTEL_NUM_FIT_ENTRIES) -r COREBOOT
- -
- -endif # CONFIG_HAVE_PBP_BIN
- -
- -endif # CONFIG_UPDATE_IMAGE
- --
- 2.39.5
|