mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-22 22:49:30 +02:00
libreboot!
this is forked from the "libre" branch in osboot, which is itself a libre, deblobbed fork of osboot, a blobbed up fork of libreboot libreboot needed to be purged clean. this is the new libreboot development repository. the old one has been abandoned
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
From cd7f511bc8e7227f20eec25aa69fa6bc33d59233 Mon Sep 17 00:00:00 2001
|
||||
From: "D.d.P.F. Lombard" <lombard@lombards.xyz>
|
||||
Date: Sun, 7 Feb 2021 17:05:38 +0100
|
||||
Subject: [PATCH 2/6] Allow loading Option ROM (so we can use graphics cards)
|
||||
|
||||
Since 49d99fcebc7c3860def51812c2f723ad3e8a4ea3 Option ROMs can't be loaded
|
||||
PCI graphics cards anymore when "Graphics initialization" is set to "Use
|
||||
native graphics init". This means only onboard graphics can be used until
|
||||
the OS or SeaBIOS initialise PCI graphics cards.
|
||||
This patch allows us to do a little hack. We can set "Use native graphics
|
||||
init" to "Run VGA Option ROMs" and activate "Load Option ROMs on PCI
|
||||
devices". This way coreboot will load the Option ROM on PCI graphics cards
|
||||
which means payloads like GRUB can display graphics.
|
||||
There's only one catch: onboard graphics won't work anymore. Because of this
|
||||
we'll include seavgabios.bin (compiled by SeaBIOS) in CBFS. This will give
|
||||
us the option to use both PCI graphics cards and onboard graphics that work
|
||||
with native graphics init.
|
||||
---
|
||||
src/mainboard/asus/kcma-d8/Kconfig | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/mainboard/asus/kcma-d8/Kconfig b/src/mainboard/asus/kcma-d8/Kconfig
|
||||
index d568ff579b..adba4df782 100644
|
||||
--- a/src/mainboard/asus/kcma-d8/Kconfig
|
||||
+++ b/src/mainboard/asus/kcma-d8/Kconfig
|
||||
@@ -29,7 +29,6 @@ config BOARD_SPECIFIC_OPTIONS
|
||||
select SPI_FLASH
|
||||
select DRIVERS_I2C_W83795
|
||||
select DRIVERS_ASPEED_AST2050
|
||||
- select MAINBOARD_FORCE_NATIVE_VGA_INIT
|
||||
select POWER_STATE_DEFAULT_ON_AFTER_FAILURE
|
||||
|
||||
config MAINBOARD_DIR
|
||||
--
|
||||
2.25.1
|
||||
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
From 7a00638cea41ad939a59fc0e5996959435fbdb7f Mon Sep 17 00:00:00 2001
|
||||
From: "D.d.P.F. Lombard" <lombard@lombards.xyz>
|
||||
Date: Sun, 7 Feb 2021 16:40:05 +0100
|
||||
Subject: [PATCH 3/6] Tweak cmos defaults for KCMA-D8 (for a little speed
|
||||
boost)
|
||||
|
||||
63xx CPUs have the option to use a reduced latency value inside the crossbar.
|
||||
Setting "experimental_memory_speed_boost=Enable" aparently only has an effect
|
||||
on 63xx CPUs and may, in certain cases, yield a slight memory bandwidth
|
||||
increase (according to Timothy Pearson), but maybe it also works for
|
||||
43xx CPUs.
|
||||
|
||||
Setting "l3_cache_partitioning=Enable" will increase performance in certain
|
||||
situations. See:
|
||||
https://developer.arm.com/documentation/100453/0401/functional-description/l3-cache/l3-cache-partitioning?lang=en
|
||||
---
|
||||
src/mainboard/asus/kcma-d8/cmos.default | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/mainboard/asus/kcma-d8/cmos.default b/src/mainboard/asus/kcma-d8/cmos.default
|
||||
index 306687157f..4e033d756f 100644
|
||||
--- a/src/mainboard/asus/kcma-d8/cmos.default
|
||||
+++ b/src/mainboard/asus/kcma-d8/cmos.default
|
||||
@@ -21,9 +21,9 @@ sata_ahci_mode=Enable
|
||||
sata_alpm=Disable
|
||||
maximum_p_state_limit=0xf
|
||||
probe_filter=Auto
|
||||
-l3_cache_partitioning=Disable
|
||||
+l3_cache_partitioning=Enable
|
||||
gart=Enable
|
||||
ehci_async_data_cache=Enable
|
||||
-experimental_memory_speed_boost=Disable
|
||||
+experimental_memory_speed_boost=Enable
|
||||
power_on_after_fail=On
|
||||
boot_option=Fallback
|
||||
--
|
||||
2.25.1
|
||||
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
From 2b1d40b970d9cbbb4f8fe30679e9b6909aa3d99a Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Thu, 6 May 2021 17:07:06 +0100
|
||||
Subject: [PATCH 4/6] Do not use microcode updates on AMD platforms
|
||||
|
||||
Coreboot is hardcoding the use of microcode updates on some platforms.
|
||||
|
||||
Just nuke it from orbit. This is the libre branch of osboot, so microcode must
|
||||
not be used.
|
||||
---
|
||||
src/cpu/Makefile.inc | 52 +------------------
|
||||
src/cpu/amd/family_10h-family_15h/Kconfig | 1 -
|
||||
.../amd/family_10h-family_15h/Makefile.inc | 10 +---
|
||||
3 files changed, 2 insertions(+), 61 deletions(-)
|
||||
|
||||
diff --git a/src/cpu/Makefile.inc b/src/cpu/Makefile.inc
|
||||
index b80c30d72b..e7909d32ed 100644
|
||||
--- a/src/cpu/Makefile.inc
|
||||
+++ b/src/cpu/Makefile.inc
|
||||
@@ -14,54 +14,4 @@ $(eval $(call create_class_compiler,cpu_microcode,x86_32))
|
||||
## Rules for building the microcode blob in CBFS
|
||||
################################################################################
|
||||
|
||||
-ifneq ($(CONFIG_CPU_MICROCODE_MULTIPLE_FILES), y)
|
||||
-cbfs-files-$(CONFIG_USE_CPU_MICROCODE_CBFS_BINS) += cpu_microcode_blob.bin
|
||||
-endif
|
||||
-
|
||||
-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)
|
||||
-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))
|
||||
- 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 $^,,false) # fail if no file is given at all
|
||||
- @printf " MICROCODE $(subst $(obj)/,,$(@))\n"
|
||||
- @echo $(cpu_microcode_bins)
|
||||
- cat $^ > $@
|
||||
-
|
||||
-cpu_microcode_blob.bin-file ?= $(obj)/cpu_microcode_blob.bin
|
||||
-cpu_microcode_blob.bin-type := microcode
|
||||
-
|
||||
-ifneq ($(CONFIG_CPU_MICROCODE_CBFS_LOC),)
|
||||
-cpu_microcode_blob.bin-COREBOOT-position := $(CONFIG_CPU_MICROCODE_CBFS_LOC)
|
||||
-else
|
||||
-cpu_microcode_blob.bin-align := 16
|
||||
-endif
|
||||
+# No microcode permitted in this version of coreboot.
|
||||
diff --git a/src/cpu/amd/family_10h-family_15h/Kconfig b/src/cpu/amd/family_10h-family_15h/Kconfig
|
||||
index ad4f5f4ba6..21150ab1a7 100644
|
||||
--- a/src/cpu/amd/family_10h-family_15h/Kconfig
|
||||
+++ b/src/cpu/amd/family_10h-family_15h/Kconfig
|
||||
@@ -8,7 +8,6 @@ config CPU_AMD_MODEL_10XXX
|
||||
select TSC_SYNC_LFENCE
|
||||
select UDELAY_LAPIC
|
||||
select SUPPORT_CPU_UCODE_IN_CBFS
|
||||
- select CPU_MICROCODE_MULTIPLE_FILES
|
||||
select CAR_GLOBAL_MIGRATION
|
||||
|
||||
if CPU_AMD_MODEL_10XXX
|
||||
diff --git a/src/cpu/amd/family_10h-family_15h/Makefile.inc b/src/cpu/amd/family_10h-family_15h/Makefile.inc
|
||||
index 7035323026..e0029f562d 100644
|
||||
--- a/src/cpu/amd/family_10h-family_15h/Makefile.inc
|
||||
+++ b/src/cpu/amd/family_10h-family_15h/Makefile.inc
|
||||
@@ -14,12 +14,4 @@ ramstage-y += ram_calc.c
|
||||
ramstage-y += monotonic_timer.c
|
||||
ramstage-$(CONFIG_HAVE_ACPI_TABLES) += powernow_acpi.c
|
||||
|
||||
-# Microcode for Family 10h, 11h, 12h, and 14h
|
||||
-cbfs-files-$(CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS) += microcode_amd.bin
|
||||
-microcode_amd.bin-file := 3rdparty/blobs/cpu/amd/family_10h-family_14h/microcode_amd.bin
|
||||
-microcode_amd.bin-type := microcode
|
||||
-
|
||||
-# Microcode for Family 15h
|
||||
-cbfs-files-$(CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS) += microcode_amd_fam15h.bin
|
||||
-microcode_amd_fam15h.bin-file := 3rdparty/blobs/cpu/amd/family_15h/microcode_amd_fam15h.bin
|
||||
-microcode_amd_fam15h.bin-type := microcode
|
||||
+# Microcode deleted in this version of coreboot.
|
||||
--
|
||||
2.25.1
|
||||
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
From b2c6c3265fcdc2a7614958a3af17b4826fe12307 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Fri, 7 May 2021 19:39:34 +0100
|
||||
Subject: [PATCH 5/6] asus/kgpe-d16: Allow loading Option ROMs (so that we can
|
||||
use graphics cards)
|
||||
|
||||
Since 49d99fcebc7c3860def51812c2f723ad3e8a4ea3 Option ROMs can't be loaded
|
||||
PCI graphics cards anymore when "Graphics initialization" is set to "Use
|
||||
native graphics init". This means only onboard graphics can be used until
|
||||
the OS or SeaBIOS initialise PCI graphics cards.
|
||||
This patch allows us to do a little hack. We can set "Use native graphics
|
||||
init" to "Run VGA Option ROMs" and activate "Load Option ROMs on PCI
|
||||
devices". This way coreboot will load the Option ROM on PCI graphics cards
|
||||
which means payloads like GRUB can display graphics.
|
||||
There's only one catch: onboard graphics won't work anymore. Because of this
|
||||
we'll include seavgabios.bin (compiled by SeaBIOS) in CBFS. This will give
|
||||
us the option to use both PCI graphics cards and onboard graphics that work
|
||||
with native graphics init.
|
||||
|
||||
This is copied from the same patch for KCMA-D8
|
||||
---
|
||||
src/mainboard/asus/kgpe-d16/Kconfig | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/mainboard/asus/kgpe-d16/Kconfig b/src/mainboard/asus/kgpe-d16/Kconfig
|
||||
index ffbfd53169..95016a0c7f 100644
|
||||
--- a/src/mainboard/asus/kgpe-d16/Kconfig
|
||||
+++ b/src/mainboard/asus/kgpe-d16/Kconfig
|
||||
@@ -30,7 +30,6 @@ config BOARD_SPECIFIC_OPTIONS
|
||||
select MAINBOARD_HAS_LPC_TPM
|
||||
select DRIVERS_I2C_W83795
|
||||
select DRIVERS_ASPEED_AST2050
|
||||
- select MAINBOARD_FORCE_NATIVE_VGA_INIT
|
||||
select POWER_STATE_DEFAULT_ON_AFTER_FAILURE
|
||||
select IPMI_KCS
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
From f0aac7261e16adc8e61eca7a506ff2de5112be47 Mon Sep 17 00:00:00 2001
|
||||
From: Leah Rowe <leah@libreboot.org>
|
||||
Date: Fri, 7 May 2021 19:43:32 +0100
|
||||
Subject: [PATCH 6/6] asus/kgpe-d16: enable lc_cache_partitioning and
|
||||
experimental_memory_speed_boost
|
||||
|
||||
This really only benefits 63xx opterons which are less reliable in libreboot due
|
||||
to lack of CPU microcode updates, but we might aswell enable this anyway.
|
||||
---
|
||||
src/mainboard/asus/kgpe-d16/cmos.default | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/mainboard/asus/kgpe-d16/cmos.default b/src/mainboard/asus/kgpe-d16/cmos.default
|
||||
index 7c496a50d7..8a25620e1d 100644
|
||||
--- a/src/mainboard/asus/kgpe-d16/cmos.default
|
||||
+++ b/src/mainboard/asus/kgpe-d16/cmos.default
|
||||
@@ -21,10 +21,10 @@ sata_ahci_mode=Enable
|
||||
sata_alpm=Disable
|
||||
maximum_p_state_limit=0xf
|
||||
probe_filter=Auto
|
||||
-l3_cache_partitioning=Disable
|
||||
+l3_cache_partitioning=Enable
|
||||
ieee1394_controller=Enable
|
||||
gart=Enable
|
||||
ehci_async_data_cache=Enable
|
||||
-experimental_memory_speed_boost=Disable
|
||||
+experimental_memory_speed_boost=Enable
|
||||
power_on_after_fail=On
|
||||
boot_option=Fallback
|
||||
--
|
||||
2.25.1
|
||||
|
||||
Reference in New Issue
Block a user