Canoeboot 20241031 release!
Signed-off-by: Leah Rowe <info@minifree.org>master 20241031
parent
54585c2e75
commit
44f5909e43
|
@ -0,0 +1,134 @@
|
|||
From 146f8792f57ee237d07e4ca506fb77c93ed27932 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Thu, 12 Oct 2023 01:20:23 +0100
|
||||
Subject: [PATCH 1/2] 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 af2402742f..5850458e4c 100644
|
||||
--- a/src/cpu/Makefile.mk
|
||||
+++ b/src/cpu/Makefile.mk
|
||||
@@ -10,61 +10,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
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
From 7d63d1b21650238300250f7408335d650447c3d6 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <info@minifree.org>
|
||||
Date: Fri, 3 May 2024 06:24:49 +0100
|
||||
Subject: [PATCH 2/2] Never download blobs, even if USE_BLOBS=y
|
||||
|
||||
same idea as my never-microcode patches. i maintain
|
||||
canoeboot and i like to re-use the same configs from
|
||||
lbmk. with this and the never-microcode patch, it should
|
||||
now be possible to re-use lbmk coreboot configs unmodified!
|
||||
|
||||
when those configs are used in cbmk, the relevant blobs
|
||||
are never downloaded, ever.
|
||||
|
||||
Signed-off-by: Leah Rowe <info@minifree.org>
|
||||
---
|
||||
Makefile.mk | 15 ---------------
|
||||
1 file changed, 15 deletions(-)
|
||||
|
||||
diff --git a/Makefile.mk b/Makefile.mk
|
||||
index 18ec01af49..57353b5e72 100644
|
||||
--- a/Makefile.mk
|
||||
+++ b/Makefile.mk
|
||||
@@ -230,21 +230,6 @@ $(info Updating git submodules.)
|
||||
forgetthis:=$(shell git submodule update --init $(quiet_errors))
|
||||
# Checkout Cmocka repository
|
||||
forgetthis:=$(shell git submodule update --init --checkout 3rdparty/cmocka $(quiet_errors))
|
||||
-ifeq ($(CONFIG_USE_BLOBS),y)
|
||||
-# These items are necessary because each has update=none in .gitmodules. They are ignored
|
||||
-# until expressly requested and enabled with --checkout
|
||||
-forgetthis:=$(shell git submodule update --init --checkout 3rdparty/blobs $(quiet_errors))
|
||||
-forgetthis:=$(shell git submodule update --init --checkout 3rdparty/intel-microcode $(quiet_errors))
|
||||
-ifeq ($(CONFIG_FSP_USE_REPO),y)
|
||||
-forgetthis:=$(shell git submodule update --init --checkout 3rdparty/fsp $(quiet_errors))
|
||||
-endif
|
||||
-ifeq ($(CONFIG_USE_AMD_BLOBS),y)
|
||||
-forgetthis:=$(shell git submodule update --init --checkout 3rdparty/amd_blobs $(quiet_errors))
|
||||
-endif
|
||||
-ifeq ($(CONFIG_USE_QC_BLOBS),y)
|
||||
-forgetthis:=$(shell git submodule update --init --checkout 3rdparty/qc_blobs $(quiet_errors))
|
||||
-endif
|
||||
-endif
|
||||
UPDATED_SUBMODULES:=1
|
||||
COREBOOT_EXPORTS += UPDATED_SUBMODULES
|
||||
|
||||
--
|
||||
2.39.5
|
||||
|
|
@ -16,7 +16,7 @@ index bd4431000..300f55fe1 100644
|
|||
grub_term_cls (term);
|
||||
|
||||
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
|
||||
+ msg_formatted = grub_xasprintf (_("Canoeboot 20240612 release, based on coreboot. https://canoeboot.org/"));
|
||||
+ msg_formatted = grub_xasprintf (_("Canoeboot 20241031 release, based on coreboot. https://canoeboot.org/"));
|
||||
if (!msg_formatted)
|
||||
return;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ index bd4431000..300f55fe1 100644
|
|||
grub_term_cls (term);
|
||||
|
||||
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
|
||||
+ msg_formatted = grub_xasprintf (_("Canoeboot 20240612 release, based on coreboot. https://canoeboot.org/"));
|
||||
+ msg_formatted = grub_xasprintf (_("Canoeboot 20241031 release, based on coreboot. https://canoeboot.org/"));
|
||||
if (!msg_formatted)
|
||||
return;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ index bd4431000..300f55fe1 100644
|
|||
grub_term_cls (term);
|
||||
|
||||
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
|
||||
+ msg_formatted = grub_xasprintf (_("Canoeboot 20240612 release, based on coreboot. https://canoeboot.org/"));
|
||||
+ msg_formatted = grub_xasprintf (_("Canoeboot 20241031 release, based on coreboot. https://canoeboot.org/"));
|
||||
if (!msg_formatted)
|
||||
return;
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
subhash="98b3c81c4aba66326d98709033ac073f53522cea"
|
||||
subhash="cc843552dfc13b08a621fafd97fb6272c190790a"
|
||||
subrepo="https://codeberg.org/canoeboot/cbwww"
|
||||
subrepo_bkup="https://git.disroot.org/canoeboot/cbwww"
|
||||
|
|
Loading…
Reference in New Issue