diff options
author | Leah Rowe <leah@libreboot.org> | 2023-07-16 03:18:58 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-07-16 03:18:58 +0100 |
commit | af084014f04602f570a23b0cc23a112401348faf (patch) | |
tree | 87d24edd508fe384d236fa81a701f6d837adfe7e /resources/coreboot/fam15h_udimm/patches | |
parent | e6002b91557bc4da7dccf06cd861a33a67262672 (diff) |
coreboot: re-add asus kgpe-d16/kcma-d8/kfsn4-dre
Libreboot 20220710 was the last release to support these
boards. I plan to eventually port code differences between
D8/D16 to Dasharo, for KCMA-D8 support in Dasharo, to then
use in Libreboot for both KCMA-D8 and KGPE-D16, but I have
no plans to update the KFSN4-DRE code, at least for now.
Libreboot 20220710 used coreboot 4.11, whereas this patch
makes use of coreboot 4.11_branch; the crossgcc toolchains
no longer compile on modern distros, so I spent time patching
those (tested in Debian Sid, will also work on Arch Linux and
so on).
The acpica downloads now fail, in 4.11_branch, because Intel
made some changes upstream for these tarball downloads. Newer
coreboot works around this by grabbing tarballs from github,
itself a non-ideal solution, but I digress; this patch changes
coreboot crossgcc (in 4.11_branch) to download the acpica
tarball from libreboot rsync, where I've added it.
This patch also re-introduces the PIKE2008 fix, where empty
option ROMs for these are inserted into CBFS. This prevents
SeaBIOS from loading the real option ROMs, which would cause
SeaBIOS to hang. This means that SAS drives are not supported
in SeaBIOS, for these boards in Libreboot.
I previously said, in the Censored Libreboot c20230710
announcement, that I would *only* merge D8/D16 when I've
added Dasharo support to Libreboot, and use that, but the
work to make coreboot 4.11_branch compile is something I'm
quite proud of and I see no reason to exclude from lbmk
master branch.
Honestly, there's not much different than 4.11, code-wise.
I *probably* won't use 4.11_branch for the next Libreboot
release, on D8/D16. By then, I might have Dasharo integrated
in lbmk instead. We shall see.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'resources/coreboot/fam15h_udimm/patches')
7 files changed, 325 insertions, 0 deletions
diff --git a/resources/coreboot/fam15h_udimm/patches/0001-Revert-Revert-nb-amd-mct_ddr3-Fix-RDIMM-training-fai.patch b/resources/coreboot/fam15h_udimm/patches/0001-Revert-Revert-nb-amd-mct_ddr3-Fix-RDIMM-training-fai.patch new file mode 100644 index 00000000..3c131a86 --- /dev/null +++ b/resources/coreboot/fam15h_udimm/patches/0001-Revert-Revert-nb-amd-mct_ddr3-Fix-RDIMM-training-fai.patch @@ -0,0 +1,31 @@ +From 8f2988cba4fffef1bd4f65e123c76bf4b7a18672 Mon Sep 17 00:00:00 2001 +From: "D.d.P.F. Lombard" <lombard@lombards.xyz> +Date: Sun, 7 Feb 2021 15:29:40 +0100 +Subject: [PATCH 1/6] Revert "Revert "nb/amd/mct_ddr3: Fix RDIMM training + failure on Fam15h" (fixes a bug that prevent certain RAM modules from + booting) + +This reverts commit 610d1c67b2298a9840681c2b4492b6d3fdf44a46. + +After 610d1c67b2298a9840681c2b4492b6d3fdf44a46 many RAM modules wouldn't work and you couldn't even see any output on the screen. +--- + src/northbridge/amd/amdmct/mct_ddr3/mctproc.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/northbridge/amd/amdmct/mct_ddr3/mctproc.c b/src/northbridge/amd/amdmct/mct_ddr3/mctproc.c +index ddaaaab8d5..3b07786b91 100644 +--- a/src/northbridge/amd/amdmct/mct_ddr3/mctproc.c ++++ b/src/northbridge/amd/amdmct/mct_ddr3/mctproc.c +@@ -71,6 +71,9 @@ u32 mct_SetDramConfigMisc2(struct DCTStatStruc *pDCTstat, + misc2 |= ((cs_mux_67 & 0x1) << 27); + misc2 &= ~(0x1 << 26); /* CsMux45 = cs_mux_45 */ + misc2 |= ((cs_mux_45 & 0x1) << 26); ++ ++ if (pDCTstat->Status & (1 << SB_Registered)) ++ misc2 |= 1 << SubMemclkRegDly; + } else if (pDCTstat->LogicalCPUID & (AMD_DR_Dx | AMD_DR_Cx)) { + if (pDCTstat->Status & (1 << SB_Registered)) { + misc2 |= 1 << SubMemclkRegDly; +-- +2.25.1 + diff --git a/resources/coreboot/fam15h_udimm/patches/0003-Tweak-cmos-defaults-for-KCMA-D8-for-a-little-speed-b.patch b/resources/coreboot/fam15h_udimm/patches/0003-Tweak-cmos-defaults-for-KCMA-D8-for-a-little-speed-b.patch new file mode 100644 index 00000000..5a39bd69 --- /dev/null +++ b/resources/coreboot/fam15h_udimm/patches/0003-Tweak-cmos-defaults-for-KCMA-D8-for-a-little-speed-b.patch @@ -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 + diff --git a/resources/coreboot/fam15h_udimm/patches/0006-asus-kgpe-d16-enable-lc_cache_partitioning-and-exper.patch b/resources/coreboot/fam15h_udimm/patches/0006-asus-kgpe-d16-enable-lc_cache_partitioning-and-exper.patch new file mode 100644 index 00000000..5ada0dff --- /dev/null +++ b/resources/coreboot/fam15h_udimm/patches/0006-asus-kgpe-d16-enable-lc_cache_partitioning-and-exper.patch @@ -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 + diff --git a/resources/coreboot/fam15h_udimm/patches/0007-util-cbfstool-Makefile-support-distclean.patch b/resources/coreboot/fam15h_udimm/patches/0007-util-cbfstool-Makefile-support-distclean.patch new file mode 100644 index 00000000..87db312c --- /dev/null +++ b/resources/coreboot/fam15h_udimm/patches/0007-util-cbfstool-Makefile-support-distclean.patch @@ -0,0 +1,41 @@ +From d5dc3f23eb546cf328fdfe1e918afa028fb9cd8c Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Sun, 9 Jul 2023 04:13:52 +0100 +Subject: [PATCH 1/1] util/cbfstool Makefile: support distclean + +it just does make-clean + +this is so that this super-old coreboot revision +interfaces well with lbmk, which runs distclean +on cbfstool (which is supported, on modern cbfstool) + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + util/cbfstool/Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/util/cbfstool/Makefile b/util/cbfstool/Makefile +index d5321f6959..b8424d7d87 100644 +--- a/util/cbfstool/Makefile ++++ b/util/cbfstool/Makefile +@@ -26,7 +26,7 @@ ifittool: $(objutil)/cbfstool/ifittool + + cbfs-compression-tool: $(objutil)/cbfstool/cbfs-compression-tool + +-.PHONY: clean cbfstool ifittool fmaptool rmodtool ifwitool cbfs-compression-tool ++.PHONY: distclean clean cbfstool ifittool fmaptool rmodtool ifwitool cbfs-compression-tool + clean: + $(RM) fmd_parser.c fmd_parser.h fmd_scanner.c fmd_scanner.h + $(RM) $(objutil)/cbfstool/cbfstool $(cbfsobj) +@@ -55,6 +55,8 @@ install: all + $(INSTALL) ifittool $(DESTDIR)$(BINDIR) + $(INSTALL) cbfs-compression-tool $(DESTDIR)$(BINDIR) + ++distclean: clean ++ + ifneq ($(V),1) + .SILENT: + endif +-- +2.40.1 + diff --git a/resources/coreboot/fam15h_udimm/patches/0008-crossgcc-patch-binutils-2.32-for-newer-hostcc.patch b/resources/coreboot/fam15h_udimm/patches/0008-crossgcc-patch-binutils-2.32-for-newer-hostcc.patch new file mode 100644 index 00000000..72681490 --- /dev/null +++ b/resources/coreboot/fam15h_udimm/patches/0008-crossgcc-patch-binutils-2.32-for-newer-hostcc.patch @@ -0,0 +1,37 @@ +From 4b4b2bdc2cedb3e219c6f90809e5684441b1dafa Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Sun, 9 Jul 2023 04:54:19 +0100 +Subject: [PATCH 1/1] crossgcc: patch binutils 2.32 for newer hostcc + +tested on debian sid as of 9 July 2023 + +implicit string declaration + +easy peasy + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + util/crossgcc/patches/binutils-2.32_stringfix.patch | 11 +++++++++++ + 1 file changed, 11 insertions(+) + create mode 100644 util/crossgcc/patches/binutils-2.32_stringfix.patch + +diff --git a/util/crossgcc/patches/binutils-2.32_stringfix.patch b/util/crossgcc/patches/binutils-2.32_stringfix.patch +new file mode 100644 +index 0000000000..de27a2752a +--- /dev/null ++++ b/util/crossgcc/patches/binutils-2.32_stringfix.patch +@@ -0,0 +1,11 @@ ++diff -u binutils-2.32/gold/errors.h binutils-2.32.patched/gold/errors.h ++--- binutils-2.32/gold/errors.h +++++ binutils-2.32.patched/gold/errors.h ++@@ -24,6 +24,7 @@ ++ #define GOLD_ERRORS_H ++ ++ #include <cstdarg> +++#include <string> ++ ++ #include "gold-threads.h" ++ +-- +2.40.1 + diff --git a/resources/coreboot/fam15h_udimm/patches/0009-fix-crossgcc-acpica-build-on-newer-hostcc.patch b/resources/coreboot/fam15h_udimm/patches/0009-fix-crossgcc-acpica-build-on-newer-hostcc.patch new file mode 100644 index 00000000..ecc06d00 --- /dev/null +++ b/resources/coreboot/fam15h_udimm/patches/0009-fix-crossgcc-acpica-build-on-newer-hostcc.patch @@ -0,0 +1,108 @@ +From 373dd351e374f391c9e2048e5f3e535267a04719 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Sun, 9 Jul 2023 19:37:39 +0100 +Subject: [PATCH 1/1] fix crossgcc/acpica build on newer hostcc + +Changes made to acpica/iasl: + +remove superfluous YYSTYPE declaration + +make LuxBuffer variables static, to avoid warnings +treated as errors about multiple definitions + +AcpiGbl_DbOpt_NoRegionSupport - remove this definition +in source/tools/acpiexec/aemain.c because it's already +re-defined by acpiexec. otherwise the linker complains +about multiple definitions + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + .../acpica-unix2-20190703_mitigategcc.patch | 76 +++++++++++++++++++ + 1 file changed, 76 insertions(+) + create mode 100644 util/crossgcc/patches/acpica-unix2-20190703_mitigategcc.patch + +diff --git a/util/crossgcc/patches/acpica-unix2-20190703_mitigategcc.patch b/util/crossgcc/patches/acpica-unix2-20190703_mitigategcc.patch +new file mode 100644 +index 0000000000..8de47245bd +--- /dev/null ++++ b/util/crossgcc/patches/acpica-unix2-20190703_mitigategcc.patch +@@ -0,0 +1,76 @@ ++From 66b927d923183ff62c9a757fafdeca9d1ac3fa87 Mon Sep 17 00:00:00 2001 ++From: Leah Rowe <leah@libreboot.org> ++Date: Sun, 9 Jul 2023 18:58:11 +0100 ++Subject: [PATCH 1/1] fix building on newer hostcc (debian sid tested) ++ ++remove superfluous YYSTYPE declaration ++ ++make LuxBuffer variables static, to avoid warnings ++treated as errors about multiple definitions ++ ++AcpiGbl_DbOpt_NoRegionSupport - remove this definition ++in source/tools/acpiexec/aemain.c because it's already ++re-defined by acpiexec. otherwise the linker complains ++about multiple definitions ++ ++Signed-off-by: Leah Rowe <leah@libreboot.org> ++--- ++ source/compiler/aslcompiler.l | 1 - ++ source/compiler/dtparser.l | 2 +- ++ source/compiler/prparser.l | 2 +- ++ source/tools/acpiexec/aemain.c | 1 - ++ 4 files changed, 2 insertions(+), 4 deletions(-) ++ ++diff --git a/source/compiler/aslcompiler.l b/source/compiler/aslcompiler.l ++index 1949b32..a24f028 100644 ++--- a/source/compiler/aslcompiler.l +++++ b/source/compiler/aslcompiler.l ++@@ -48,7 +48,6 @@ ++ ++ #include <stdlib.h> ++ #include <string.h> ++-YYSTYPE AslCompilerlval; ++ ++ /* ++ * Generation: Use the following command line: ++diff --git a/source/compiler/dtparser.l b/source/compiler/dtparser.l ++index 6517e52..d35181c 100644 ++--- a/source/compiler/dtparser.l +++++ b/source/compiler/dtparser.l ++@@ -100,7 +100,7 @@ NewLine [\n] ++ /* ++ * Local support functions ++ */ ++-YY_BUFFER_STATE LexBuffer; +++static YY_BUFFER_STATE LexBuffer; ++ ++ /****************************************************************************** ++ * ++diff --git a/source/compiler/prparser.l b/source/compiler/prparser.l ++index bcdef14..5a1b848 100644 ++--- a/source/compiler/prparser.l +++++ b/source/compiler/prparser.l ++@@ -116,7 +116,7 @@ Identifier [a-zA-Z][0-9a-zA-Z]* ++ /* ++ * Local support functions ++ */ ++-YY_BUFFER_STATE LexBuffer; +++static YY_BUFFER_STATE LexBuffer; ++ ++ ++ /****************************************************************************** ++diff --git a/source/tools/acpiexec/aemain.c b/source/tools/acpiexec/aemain.c ++index 58640dd..cd0add6 100644 ++--- a/source/tools/acpiexec/aemain.c +++++ b/source/tools/acpiexec/aemain.c ++@@ -84,7 +84,6 @@ BOOLEAN AcpiGbl_VerboseHandlers = FALSE; ++ UINT8 AcpiGbl_RegionFillValue = 0; ++ BOOLEAN AcpiGbl_IgnoreErrors = FALSE; ++ BOOLEAN AcpiGbl_AbortLoopOnTimeout = FALSE; ++-BOOLEAN AcpiGbl_DbOpt_NoRegionSupport = FALSE; ++ UINT8 AcpiGbl_UseHwReducedFadt = FALSE; ++ BOOLEAN AcpiGbl_DoInterfaceTests = FALSE; ++ BOOLEAN AcpiGbl_LoadTestTables = FALSE; ++-- ++2.40.1 ++ +-- +2.40.1 + diff --git a/resources/coreboot/fam15h_udimm/patches/0010-coreboot-fam15h-use-new-upstream-for-acpica.patch b/resources/coreboot/fam15h_udimm/patches/0010-coreboot-fam15h-use-new-upstream-for-acpica.patch new file mode 100644 index 00000000..6b7e6de0 --- /dev/null +++ b/resources/coreboot/fam15h_udimm/patches/0010-coreboot-fam15h-use-new-upstream-for-acpica.patch @@ -0,0 +1,38 @@ +From ba94a3f27a26d181291b5908bdd627be375eb606 Mon Sep 17 00:00:00 2001 +From: Leah Rowe <leah@libreboot.org> +Date: Sun, 16 Jul 2023 00:44:22 +0100 +Subject: [PATCH 1/1] coreboot/fam15h: use new upstream for acpica + +the original upstream died + +i decided to host it myself, on libreboot rsync, +for use by mirrors. + +this is also useful for GNU Boot, when downloading +acpica on coreboot 4.11_branch, for fam15h boards + +this change is not necessary on other coreboot trees, +which adhere to new coreboot policy (newer coreboot +pulls acpica from github, which is fairly reliable) + +Signed-off-by: Leah Rowe <leah@libreboot.org> +--- + util/crossgcc/buildgcc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc +index b75b90a877..e3efa722f1 100755 +--- a/util/crossgcc/buildgcc ++++ b/util/crossgcc/buildgcc +@@ -73,7 +73,7 @@ MPC_ARCHIVE="https://ftpmirror.gnu.org/mpc/mpc-${MPC_VERSION}.tar.gz" + GCC_ARCHIVE="https://ftpmirror.gnu.org/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.xz" + BINUTILS_ARCHIVE="https://ftpmirror.gnu.org/binutils/binutils-${BINUTILS_VERSION}.tar.xz" + GDB_ARCHIVE="https://ftpmirror.gnu.org/gdb/gdb-${GDB_VERSION}.tar.xz" +-IASL_ARCHIVE="https://acpica.org/sites/acpica/files/acpica-unix2-${IASL_VERSION}.tar.gz" ++IASL_ARCHIVE="https://mirror.math.princeton.edu/pub/libreboot/misc/acpica/acpica-unix2-${IASL_VERSION}.tar.gz" + PYTHON_ARCHIVE="https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz" + EXPAT_ARCHIVE="https://downloads.sourceforge.net/sourceforge/expat/expat-${EXPAT_VERSION}.tar.bz2" + # CLANG toolchain archive locations +-- +2.40.1 + |