From c4c0f00a57af8bd1224a6d5b72084acc44e90250 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Tue, 18 Oct 2022 14:31:50 -0500 Subject: [PATCH 1/8] drivers/tpm: Move TPM init to end of device init phase Boards which use an I2C TPM and do not use vboot will not have the I2C bus initialized/ready at the start of the device init phase. If TPM init is called before the bus, init will fail with I2C transfer timeouts and a significantly lengthened boot time. Resolves: https://ticket.coreboot.org/issues/429 TEST=build/boot google/reef w/o vboot, verify successful TPM init. Change-Id: Ic47e465db1c06d8b79a1f0a06906843149b6dacd Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/68600 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- src/drivers/tpm/tpm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drivers/tpm/tpm.c b/src/drivers/tpm/tpm.c index ce1a2b7670..3b582c84ab 100644 --- a/src/drivers/tpm/tpm.c +++ b/src/drivers/tpm/tpm.c @@ -10,4 +10,4 @@ static void init_tpm_dev(void *unused) tpm_setup(s3resume); } -BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_ENTRY, init_tpm_dev, NULL); +BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_EXIT, init_tpm_dev, NULL); From dba310c5546c833cf4bbbfa0102ae3848ec370e2 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Mon, 17 Oct 2022 15:47:11 -0500 Subject: [PATCH 2/8] soc/intel/apollolake: Skip SMI lockdown on Apollolake Commit d9ef02ce (soc/intel/apollolake: Lock down Global SMI) breaks SMM/SMI on Apollolake (but not Geminilake), so guard it accordingly. TEST=build/boot google/reef, verify SMM/SMI/SMMSTORE functional. Change-Id: I00cbe046b61e6c342f7961670478d0ca8d365c2e Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/68599 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- src/soc/intel/apollolake/lockdown.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/soc/intel/apollolake/lockdown.c b/src/soc/intel/apollolake/lockdown.c index e11778b5dc..5de4bdd2c1 100644 --- a/src/soc/intel/apollolake/lockdown.c +++ b/src/soc/intel/apollolake/lockdown.c @@ -18,5 +18,6 @@ static void pmc_lock_smi(void) void soc_lockdown_config(int chipset_lockdown) { /* APL only supports CHIPSET_LOCKDOWN_COREBOOT */ - pmc_lock_smi(); + if (CONFIG(SOC_INTEL_GEMINILAKE)) + pmc_lock_smi(); } From 75f1500cb61f281766e4f6261a92cc0e3075afc8 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Sun, 2 Oct 2022 20:17:04 +0200 Subject: [PATCH 3/8] Makefile.inc: Decrease minimal pagesize from 4 kB to 1 kB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit ac23f9da757e8e47a6bdcfd619c54e9b4c2b906c upstream. GCC 12 incorrectly warns about an array out of bounds issue: ``` $ make V=1 # emulation/qemu-i440fx […] CC ramstage/arch/x86/ebda.o x86_64-linux-gnu-gcc-12 -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Ibuild -I3rdparty/vboot/firmware/include -include src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=\"build\" -Isrc/arch/x86/include -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wno-trigraphs -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wdangling-else -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wreturn-type -Wlogical-op -Wduplicated-cond -Wno-unused-but-set-variable -Werror -Os -Wno-address-of-packed-member -m32 -Wl,-b,elf32-i386 -Wl,-melf_i386 -m32 -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -MT build/ramstage/arch/x86/ebda.o -D__RAMSTAGE__ -c -o build/ramstage/arch/x86/ebda.o src/arch/x86/ebda.c In file included from src/arch/x86/ebda.c:6: In function 'write_ble8', inlined from 'write_le8' at src/commonlib/include/commonlib/endian.h:155:2, inlined from 'write_le16' at src/commonlib/include/commonlib/endian.h:178:2, inlined from 'setup_ebda' at src/arch/x86/ebda.c:35:2, inlined from 'setup_default_ebda' at src/arch/x86/ebda.c:48:2: src/commonlib/include/commonlib/endian.h:27:26: error: array subscript 0 is outside array bounds of 'void[0]' [-Werror=array-bounds] 27 | *(uint8_t *)dest = val; | ~~~~~~~~~~~~~~~~~^~~~~ […] ``` [In GCC 12 the new parameter `min-pagesize` is added and defaults 4 kB.][1] It treats INTEGER_CST addresses smaller than that as assumed results of pointer arithmetics from NULL while addresses equal or larger than that as expected user constant addresses. For GCC 13 we can represent results from pointer arithmetics on NULL using &MEM[(void*)0 + offset] instead of (void*)offset INTEGER_CSTs. [1]: https://web.archive.org/web/20220711061810/https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578 TEST=No compile error with gcc (Debian 12.2.0-3) 12.2.0 Original-Change-Id: I6e36633f42cb4dc5af53212c10c919a86e451ee0 Signed-off-by: Paul Menzel Original-Reviewed-on: https://review.coreboot.org/c/coreboot/+/62830 Original-Reviewed-by: Angel Pons Change-Id: I90dc714f1959e94e9dc53cd383db19dc0dd9ac37 Reviewed-on: https://review.coreboot.org/c/coreboot/+/70463 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- util/xcompile/xcompile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile index e35904fde1..ffb089ab7d 100755 --- a/util/xcompile/xcompile +++ b/util/xcompile/xcompile @@ -192,6 +192,8 @@ detect_special_flags() { testcc "$GCC" "$CFLAGS_GCC -Wno-address-of-packed-member $FLAGS_GCC" && CFLAGS_GCC="$CFLAGS_GCC -Wno-address-of-packed-member" + testcc "$GCC" "$CFLAGS_GCC --param=min-pagesize=1024 $FLAGS_GCC" && + CFLAGS_GCC="$CFLAGS_GCC --param=min-pagesize=1024" case "$architecture" in x86) ;; From 52473bd79c847a62dee679032146bf9509f06b0a Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Mon, 9 May 2022 15:23:30 +0200 Subject: [PATCH 4/8] superio/acpi/pnp_generic.asl: Add _PRS for each device Simply return the current resource settings in the _PRS method. This means that coreboot has to correctly set up the resources on the device. This won't result in any regression as without _PRS the ACPI OS would not know what resources settings are valid, so it would never use _SRS. Original-signed-off-by: Arthur Heymans Original-reviewed-on: https://review.coreboot.org/c/coreboot/+/64218 Original-reviewed-by: Nico Huber Original-reviewed-by: Elyes Haouas Original-tested-by: build bot (Jenkins) Original-reviewed-by: Martin Roth Cherry-picked-from: 148fd99365bb923cd7af37afcd93efdd781fd819 Change-Id: I2726714cbe076fc7c772c06883d8551400ff2baa Signed-off-by: Felix Singer Reviewed-on: https://review.coreboot.org/c/coreboot/+/70903 Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) Reviewed-by: Elyes Haouas --- src/superio/acpi/pnp_generic.asl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/superio/acpi/pnp_generic.asl b/src/superio/acpi/pnp_generic.asl index d0d9a2d9ba..2bcc139b67 100644 --- a/src/superio/acpi/pnp_generic.asl +++ b/src/superio/acpi/pnp_generic.asl @@ -171,4 +171,12 @@ Device (SUPERIO_ID(PN, SUPERIO_PNP_LDN)) { Store (One, PNP_DEVICE_ACTIVE) EXIT_CONFIG_MODE () } + + /* This is used for _SRS. Since _DIS only disables the device + * without changing the resources this works. + */ + Method (_PRS, 0) + { + return (_CRS) + } } From d5ef6be38e196e370212c586dd243d36aa2f81f8 Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Sun, 13 Nov 2022 20:33:23 +0100 Subject: [PATCH 5/8] {ec/superio}/acpi: Remove _PRS if no _SRS is implemented _PRS only makes sense if _SRS is implemented. Original-signed-off-by: Arthur Heymans Original-reviewed-on: https://review.coreboot.org/c/coreboot/+/69513 Original-reviewed-by: Elyes Haouas Original-tested-by: build bot (Jenkins) Original-reviewed-by: Martin Roth Cherry-picked-from: 87d4f114a24d713c7ce965a52b83974f7b089557 Change-Id: I030bd716215b5ac5738e00ebf6ed991d9d6c5ca0 Signed-off-by: Felix Singer Reviewed-on: https://review.coreboot.org/c/coreboot/+/70901 Tested-by: build bot (Jenkins) Reviewed-by: Elyes Haouas --- src/ec/google/wilco/acpi/ec_dev.asl | 19 ---------- src/ec/google/wilco/acpi/superio.asl | 27 ------------- src/ec/quanta/ene_kb3940q/acpi/superio.asl | 10 ----- src/ec/quanta/it8518/acpi/superio.asl | 22 ----------- src/superio/ite/it8772f/acpi/superio.asl | 39 ------------------- src/superio/smsc/sio1007/acpi/superio.asl | 44 ---------------------- 6 files changed, 161 deletions(-) diff --git a/src/ec/google/wilco/acpi/ec_dev.asl b/src/ec/google/wilco/acpi/ec_dev.asl index 5c88d669bc..d8192d1d42 100644 --- a/src/ec/google/wilco/acpi/ec_dev.asl +++ b/src/ec/google/wilco/acpi/ec_dev.asl @@ -29,25 +29,6 @@ Device (WLCO) CONFIG_EC_BASE_PACKET, 16, 16) }) - - Name (_PRS, ResourceTemplate () - { - StartDependentFn (0, 0) { - IO (Decode16, - CONFIG_EC_BASE_HOST_DATA, - CONFIG_EC_BASE_HOST_DATA, - 4, 4) - IO (Decode16, - CONFIG_EC_BASE_HOST_COMMAND, - CONFIG_EC_BASE_HOST_COMMAND, - 4, 4) - IO (Decode16, - CONFIG_EC_BASE_PACKET, - CONFIG_EC_BASE_PACKET, - 16, 16) - } - EndDependentFn () - }) } Device (WEVT) diff --git a/src/ec/google/wilco/acpi/superio.asl b/src/ec/google/wilco/acpi/superio.asl index a779147abb..7edc9fe208 100644 --- a/src/ec/google/wilco/acpi/superio.asl +++ b/src/ec/google/wilco/acpi/superio.asl @@ -26,15 +26,6 @@ Device (SIO) IO (Decode16, 0x03F8, 0x3F8, 0x08, 0x08) IRQNoFlags () {4} }) - - Name (_PRS, ResourceTemplate () - { - StartDependentFn (0, 0) { - IO (Decode16, 0x03F8, 0x3F8, 0x08, 0x08) - IRQNoFlags () {4} - } - EndDependentFn () - }) } Device (PS2K) @@ -58,16 +49,6 @@ Device (SIO) IO (Decode16, 0x64, 0x64, 0x01, 0x01) IRQ (Edge, ActiveHigh, Exclusive) {1} }) - - Name (_PRS, ResourceTemplate() - { - StartDependentFn (0, 0) { - IO (Decode16, 0x60, 0x60, 0x01, 0x01) - IO (Decode16, 0x64, 0x64, 0x01, 0x01) - IRQ (Edge, ActiveHigh, Exclusive) {1} - } - EndDependentFn () - }) } Device (PS2M) @@ -88,13 +69,5 @@ Device (SIO) { IRQ (Edge, ActiveHigh, Exclusive) {12} }) - - Name (_PRS, ResourceTemplate() - { - StartDependentFn (0, 0) { - IRQ (Edge, ActiveHigh, Exclusive) {12} - } - EndDependentFn () - }) } } diff --git a/src/ec/quanta/ene_kb3940q/acpi/superio.asl b/src/ec/quanta/ene_kb3940q/acpi/superio.asl index 008f573f75..b5962f0267 100644 --- a/src/ec/quanta/ene_kb3940q/acpi/superio.asl +++ b/src/ec/quanta/ene_kb3940q/acpi/superio.asl @@ -24,16 +24,6 @@ Device (SIO) { FixedIO (0x64, 0x01) IRQNoFlags () {1} }) - - Name (_PRS, ResourceTemplate() - { - StartDependentFn (0, 0) { - FixedIO (0x60, 0x01) - FixedIO (0x64, 0x01) - IRQNoFlags () {1} - } - EndDependentFn () - }) } #endif } diff --git a/src/ec/quanta/it8518/acpi/superio.asl b/src/ec/quanta/it8518/acpi/superio.asl index 9cdf26581a..b91324ded3 100644 --- a/src/ec/quanta/it8518/acpi/superio.asl +++ b/src/ec/quanta/it8518/acpi/superio.asl @@ -25,17 +25,6 @@ Device (SIO) FixedIO (0x64, 0x01) IRQNoFlags () {1} }) - - Name (_PRS, ResourceTemplate() - { - StartDependentFn (0, 0) - { - FixedIO (0x60, 0x01) - FixedIO (0x64, 0x01) - IRQNoFlags () {1} - } - EndDependentFn () - }) } #endif @@ -55,17 +44,6 @@ Device (SIO) FixedIO (0x64, 0x01) IRQNoFlags () {12} }) - - Name (_PRS, ResourceTemplate() - { - StartDependentFn (0, 0) - { - FixedIO (0x60, 0x01) - FixedIO (0x64, 0x01) - IRQNoFlags () {12} - } - EndDependentFn () - }) } #endif diff --git a/src/superio/ite/it8772f/acpi/superio.asl b/src/superio/ite/it8772f/acpi/superio.asl index 5132df0762..809d0fcea6 100644 --- a/src/superio/ite/it8772f/acpi/superio.asl +++ b/src/superio/ite/it8772f/acpi/superio.asl @@ -108,12 +108,6 @@ Device (SIO) { IO (Decode16, SIO_ENVC_IO1, SIO_ENVC_IO1, 0x04, 0x04) }) - Name (_PRS, ResourceTemplate () - { - IO (Decode16, SIO_ENVC_IO0, SIO_ENVC_IO0, 0x08, 0x08) - IO (Decode16, SIO_ENVC_IO1, SIO_ENVC_IO1, 0x04, 0x04) - }) - OperationRegion (ECAP, SystemIO, SIO_ENVC_IO0, 0x07) Field (ECAP, ByteAcc, NoLock, Preserve) { @@ -151,12 +145,6 @@ Device (SIO) { IO (Decode16, SIO_GPIO_IO0, SIO_GPIO_IO0, 0x01, 0x01) IO (Decode16, SIO_GPIO_IO1, SIO_GPIO_IO1, 0x08, 0x08) }) - - Name (_PRS, ResourceTemplate () - { - IO (Decode16, SIO_GPIO_IO0, SIO_GPIO_IO0, 0x01, 0x01) - IO (Decode16, SIO_GPIO_IO1, SIO_GPIO_IO1, 0x08, 0x08) - }) } #endif @@ -175,11 +163,6 @@ Device (SIO) { IRQNoFlags () {4} }) - Name (_PRS, ResourceTemplate () - { - IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) - IRQNoFlags () {4} - }) } #endif @@ -200,12 +183,6 @@ Device (SIO) { IRQNoFlags () {1} }) - Name (_PRS, ResourceTemplate() - { - IO (Decode16, 0x60, 0x60, 0x01, 0x01) - IO (Decode16, 0x64, 0x64, 0x01, 0x01) - IRQNoFlags () {1} - }) } #endif @@ -223,10 +200,6 @@ Device (SIO) { IRQNoFlags () {12} }) - Name (_PRS, ResourceTemplate() - { - IRQNoFlags () {12} - }) } #endif @@ -247,13 +220,6 @@ Device (SIO) { DMA (Compatibility, NotBusMaster, Transfer8) {2} }) - Name (_PRS, ResourceTemplate() - { - IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06) - IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) - IRQNoFlags () {6} - DMA (Compatibility, NotBusMaster, Transfer8) {2} - }) } #endif @@ -272,11 +238,6 @@ Device (SIO) { IRQNoFlags () { SIO_INFR_IRQ } }) - Name (_PRS, ResourceTemplate() - { - IO (Decode16, SIO_INFR_IO0, SIO_INFR_IO0, 0x08, 0x08) - IRQNoFlags () { SIO_INFR_IRQ } - }) } #endif } diff --git a/src/superio/smsc/sio1007/acpi/superio.asl b/src/superio/smsc/sio1007/acpi/superio.asl index 5132df0762..35d9ba1cfc 100644 --- a/src/superio/smsc/sio1007/acpi/superio.asl +++ b/src/superio/smsc/sio1007/acpi/superio.asl @@ -108,12 +108,6 @@ Device (SIO) { IO (Decode16, SIO_ENVC_IO1, SIO_ENVC_IO1, 0x04, 0x04) }) - Name (_PRS, ResourceTemplate () - { - IO (Decode16, SIO_ENVC_IO0, SIO_ENVC_IO0, 0x08, 0x08) - IO (Decode16, SIO_ENVC_IO1, SIO_ENVC_IO1, 0x04, 0x04) - }) - OperationRegion (ECAP, SystemIO, SIO_ENVC_IO0, 0x07) Field (ECAP, ByteAcc, NoLock, Preserve) { @@ -151,12 +145,6 @@ Device (SIO) { IO (Decode16, SIO_GPIO_IO0, SIO_GPIO_IO0, 0x01, 0x01) IO (Decode16, SIO_GPIO_IO1, SIO_GPIO_IO1, 0x08, 0x08) }) - - Name (_PRS, ResourceTemplate () - { - IO (Decode16, SIO_GPIO_IO0, SIO_GPIO_IO0, 0x01, 0x01) - IO (Decode16, SIO_GPIO_IO1, SIO_GPIO_IO1, 0x08, 0x08) - }) } #endif @@ -174,12 +162,6 @@ Device (SIO) { IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) IRQNoFlags () {4} }) - - Name (_PRS, ResourceTemplate () - { - IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) - IRQNoFlags () {4} - }) } #endif @@ -199,13 +181,6 @@ Device (SIO) { IO (Decode16, 0x64, 0x64, 0x01, 0x01) IRQNoFlags () {1} }) - - Name (_PRS, ResourceTemplate() - { - IO (Decode16, 0x60, 0x60, 0x01, 0x01) - IO (Decode16, 0x64, 0x64, 0x01, 0x01) - IRQNoFlags () {1} - }) } #endif @@ -222,11 +197,6 @@ Device (SIO) { { IRQNoFlags () {12} }) - - Name (_PRS, ResourceTemplate() - { - IRQNoFlags () {12} - }) } #endif @@ -246,14 +216,6 @@ Device (SIO) { IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} }) - - Name (_PRS, ResourceTemplate() - { - IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06) - IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) - IRQNoFlags () {6} - DMA (Compatibility, NotBusMaster, Transfer8) {2} - }) } #endif @@ -271,12 +233,6 @@ Device (SIO) { IO (Decode16, SIO_INFR_IO0, SIO_INFR_IO0, 0x08, 0x08) IRQNoFlags () { SIO_INFR_IRQ } }) - - Name (_PRS, ResourceTemplate() - { - IO (Decode16, SIO_INFR_IO0, SIO_INFR_IO0, 0x08, 0x08) - IRQNoFlags () { SIO_INFR_IRQ } - }) } #endif } From 5b38099abecb7ac09bd2d95c71549c90a076776b Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Sun, 13 Nov 2022 20:37:19 +0100 Subject: [PATCH 6/8] Makefile.inc: Remove workaround ACPI warnings No boards now have a missing dependency so remove the workaround. Original-signed-off-by: Arthur Heymans Original-reviewed-on: https://review.coreboot.org/c/coreboot/+/69514 Original-reviewed-by: Nico Huber Original-tested-by: build bot (Jenkins) Original-reviewed-by: Elyes Haouas Original-reviewed-by: Felix Held Cherry-picked-from: 457f77be37e73e6a06f7cc0c16f14bc462b682f9 Change-Id: I787f6aa588175ba620a068918c42edc9d257c3ef Signed-off-by: Felix Singer Reviewed-on: https://review.coreboot.org/c/coreboot/+/70902 Tested-by: build bot (Jenkins) Reviewed-by: Elyes Haouas --- Makefile.inc | 17 ----------------- src/mainboard/acer/g43t-am3/Kconfig | 3 --- src/mainboard/asrock/h81m-hds/Kconfig | 3 --- src/mainboard/asus/h61-series/Kconfig | 3 --- src/mainboard/asus/p5qpl-am/Kconfig | 3 --- src/mainboard/foxconn/d41s/Kconfig | 3 --- src/mainboard/foxconn/g41s-k/Kconfig | 3 --- src/mainboard/gigabyte/ga-d510ud/Kconfig | 3 --- src/mainboard/intel/dcp847ske/Kconfig | 3 --- src/mainboard/intel/dg41wv/Kconfig | 3 --- src/mainboard/intel/dg43gt/Kconfig | 3 --- src/mainboard/intel/emeraldlake2/Kconfig | 3 --- src/mainboard/supermicro/x10slm-f/Kconfig | 3 --- src/mainboard/supermicro/x9scl/Kconfig | 3 --- 14 files changed, 56 deletions(-) diff --git a/Makefile.inc b/Makefile.inc index 0ed205fb41..15d824fc0b 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -265,26 +265,9 @@ endef # ResourceTemplate is the correct code. # As it's valid ASL, disable the warning. EMPTY_RESOURCE_TEMPLATE_WARNING = 3150 -# IASL compiler check for usage of _CRS, _DIS, _PRS, and _SRS objects: -# 1) If _PRS is present, must have _CRS and _SRS -# 2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS) -# 3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS and _SRS) -# 4) If _SRS is present, probably should have a _DIS (Remark only) -# A warning will be issued for each of these cases. -# For existing ASL code, ignore this warnings -IASL_MISSING_DEPENDENCY = 3141 IASL_WARNINGS_LIST = $(EMPTY_RESOURCE_TEMPLATE_WARNING) -ifeq ($(CONFIG_IGNORE_IASL_MISSING_DEPENDENCY),y) - IASL_WARNINGS_LIST += $(IASL_MISSING_DEPENDENCY) -build_complete:: - printf "*** WARNING: The ASL code for this platform is incomplete. Please fix it. ***\n" - printf "*** If _PRS is present, must have _CRS and _SRS ***\n" - printf "*** If _SRS is present, must have _PRS and _CRS ***\n" - printf "*** If _DIS is present, must have _SRS, _PRS and _CRS ***\n" -endif - IGNORED_IASL_WARNINGS = $(addprefix -vw , $(IASL_WARNINGS_LIST)) define asl_template diff --git a/src/mainboard/acer/g43t-am3/Kconfig b/src/mainboard/acer/g43t-am3/Kconfig index dd2bf3f9f4..1d4fd53f97 100644 --- a/src/mainboard/acer/g43t-am3/Kconfig +++ b/src/mainboard/acer/g43t-am3/Kconfig @@ -2,9 +2,6 @@ if BOARD_ACER_G43T_AM3 -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select CPU_INTEL_SOCKET_LGA775 diff --git a/src/mainboard/asrock/h81m-hds/Kconfig b/src/mainboard/asrock/h81m-hds/Kconfig index 4b21ec5891..4edd2bc387 100644 --- a/src/mainboard/asrock/h81m-hds/Kconfig +++ b/src/mainboard/asrock/h81m-hds/Kconfig @@ -2,9 +2,6 @@ if BOARD_ASROCK_H81M_HDS -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select BOARD_ROMSIZE_KB_4096 diff --git a/src/mainboard/asus/h61-series/Kconfig b/src/mainboard/asus/h61-series/Kconfig index 48e4220e78..eeec4e7882 100644 --- a/src/mainboard/asus/h61-series/Kconfig +++ b/src/mainboard/asus/h61-series/Kconfig @@ -14,9 +14,6 @@ config BOARD_ASUS_H61_SERIES if BOARD_ASUS_H61_SERIES -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config MAINBOARD_DIR default "asus/h61-series" diff --git a/src/mainboard/asus/p5qpl-am/Kconfig b/src/mainboard/asus/p5qpl-am/Kconfig index 100f5918e7..2359e324d8 100644 --- a/src/mainboard/asus/p5qpl-am/Kconfig +++ b/src/mainboard/asus/p5qpl-am/Kconfig @@ -2,9 +2,6 @@ if BOARD_ASUS_P5QPL_AM || BOARD_ASUS_P5G41T_M_LX -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select CPU_INTEL_SOCKET_LGA775 diff --git a/src/mainboard/foxconn/d41s/Kconfig b/src/mainboard/foxconn/d41s/Kconfig index 33d5e6da2a..6ddc7dffc1 100644 --- a/src/mainboard/foxconn/d41s/Kconfig +++ b/src/mainboard/foxconn/d41s/Kconfig @@ -2,9 +2,6 @@ if BOARD_FOXCONN_D41S -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select CPU_INTEL_SOCKET_FCBGA559 diff --git a/src/mainboard/foxconn/g41s-k/Kconfig b/src/mainboard/foxconn/g41s-k/Kconfig index a98a47a776..b2237599a4 100644 --- a/src/mainboard/foxconn/g41s-k/Kconfig +++ b/src/mainboard/foxconn/g41s-k/Kconfig @@ -2,9 +2,6 @@ if BOARD_FOXCONN_G41S_K || BOARD_FOXCONN_G41M -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select CPU_INTEL_SOCKET_LGA775 diff --git a/src/mainboard/gigabyte/ga-d510ud/Kconfig b/src/mainboard/gigabyte/ga-d510ud/Kconfig index 4739f81b03..731b9f40ee 100644 --- a/src/mainboard/gigabyte/ga-d510ud/Kconfig +++ b/src/mainboard/gigabyte/ga-d510ud/Kconfig @@ -2,9 +2,6 @@ if BOARD_GIGABYTE_GA_D510UD -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select BOARD_ROMSIZE_KB_512 diff --git a/src/mainboard/intel/dcp847ske/Kconfig b/src/mainboard/intel/dcp847ske/Kconfig index c5e5afde28..ebc172b6b0 100644 --- a/src/mainboard/intel/dcp847ske/Kconfig +++ b/src/mainboard/intel/dcp847ske/Kconfig @@ -1,8 +1,5 @@ if BOARD_INTEL_DCP847SKE -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select BOARD_ROMSIZE_KB_8192 diff --git a/src/mainboard/intel/dg41wv/Kconfig b/src/mainboard/intel/dg41wv/Kconfig index 8c5a5d6111..bb201bc76d 100644 --- a/src/mainboard/intel/dg41wv/Kconfig +++ b/src/mainboard/intel/dg41wv/Kconfig @@ -2,9 +2,6 @@ if BOARD_INTEL_DG41WV -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select CPU_INTEL_SOCKET_LGA775 diff --git a/src/mainboard/intel/dg43gt/Kconfig b/src/mainboard/intel/dg43gt/Kconfig index 55b5cd08f0..c3c853cdeb 100644 --- a/src/mainboard/intel/dg43gt/Kconfig +++ b/src/mainboard/intel/dg43gt/Kconfig @@ -2,9 +2,6 @@ if BOARD_INTEL_DG43GT -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select CPU_INTEL_SOCKET_LGA775 diff --git a/src/mainboard/intel/emeraldlake2/Kconfig b/src/mainboard/intel/emeraldlake2/Kconfig index 0220d73c22..86fe98a803 100644 --- a/src/mainboard/intel/emeraldlake2/Kconfig +++ b/src/mainboard/intel/emeraldlake2/Kconfig @@ -1,8 +1,5 @@ if BOARD_INTEL_EMERALDLAKE2 -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select NORTHBRIDGE_INTEL_SANDYBRIDGE diff --git a/src/mainboard/supermicro/x10slm-f/Kconfig b/src/mainboard/supermicro/x10slm-f/Kconfig index 24e67c7682..28c7c1a20f 100644 --- a/src/mainboard/supermicro/x10slm-f/Kconfig +++ b/src/mainboard/supermicro/x10slm-f/Kconfig @@ -2,9 +2,6 @@ if BOARD_SUPERMICRO_X10SLM_PLUS_F -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select BOARD_ROMSIZE_KB_16384 diff --git a/src/mainboard/supermicro/x9scl/Kconfig b/src/mainboard/supermicro/x9scl/Kconfig index 469b7916a7..40b42137b2 100644 --- a/src/mainboard/supermicro/x9scl/Kconfig +++ b/src/mainboard/supermicro/x9scl/Kconfig @@ -1,8 +1,5 @@ if BOARD_SUPERMICRO_X9SCL -config IGNORE_IASL_MISSING_DEPENDENCY - def_bool y - config BOARD_SPECIFIC_OPTIONS def_bool y select BOARD_ROMSIZE_KB_8192 From 128c49e4e651c26d953fab2608b11338326391f9 Mon Sep 17 00:00:00 2001 From: Elyes Haouas Date: Thu, 27 Oct 2022 23:10:42 +0200 Subject: [PATCH 7/8] crossgcc: Upgrade IASL from 20220331 to 20221020 Changes: https://acpica.org/node/201 Original-signed-off-by: Elyes Haouas Original-reviewed-on: https://review.coreboot.org/c/coreboot/+/68929 Original-tested-by: build bot (Jenkins) Original-reviewed-by: Felix Singer Cherry-picked-from: a45ed44724a30303030e80898202b77c34498942 Change-Id: I386a6757a318336bc616091afe0c4ed88cd89583 Signed-off-by: Felix Singer Reviewed-on: https://review.coreboot.org/c/coreboot/+/70856 Tested-by: build bot (Jenkins) Reviewed-by: Elyes Haouas --- util/crossgcc/buildgcc | 2 +- ...ix2-20220331_iasl.patch => acpica-unix2-20221020_iasl.patch} | 0 util/crossgcc/sum/acpica-unix2-20220331.tar.gz.cksum | 1 - util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum | 1 + 4 files changed, 2 insertions(+), 2 deletions(-) rename util/crossgcc/patches/{acpica-unix2-20220331_iasl.patch => acpica-unix2-20221020_iasl.patch} (100%) delete mode 100644 util/crossgcc/sum/acpica-unix2-20220331.tar.gz.cksum create mode 100644 util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index 9b7fc1c7bd..d0364fd252 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -37,7 +37,7 @@ MPFR_VERSION=4.1.0 MPC_VERSION=1.2.1 GCC_VERSION=11.2.0 BINUTILS_VERSION=2.37 -IASL_VERSION=20220331 +IASL_VERSION=20221020 # CLANG version number CLANG_VERSION=15.0.0 CMAKE_VERSION=3.24.2 diff --git a/util/crossgcc/patches/acpica-unix2-20220331_iasl.patch b/util/crossgcc/patches/acpica-unix2-20221020_iasl.patch similarity index 100% rename from util/crossgcc/patches/acpica-unix2-20220331_iasl.patch rename to util/crossgcc/patches/acpica-unix2-20221020_iasl.patch diff --git a/util/crossgcc/sum/acpica-unix2-20220331.tar.gz.cksum b/util/crossgcc/sum/acpica-unix2-20220331.tar.gz.cksum deleted file mode 100644 index 7ad2b684a7..0000000000 --- a/util/crossgcc/sum/acpica-unix2-20220331.tar.gz.cksum +++ /dev/null @@ -1 +0,0 @@ -bf8a86addc7fbfa819f1ed2897a0890c42cdcf62 tarballs/acpica-unix2-20220331.tar.gz diff --git a/util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum b/util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum new file mode 100644 index 0000000000..1b2b5804da --- /dev/null +++ b/util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum @@ -0,0 +1 @@ +bb175ba614e68d43a7a863335e83d3f832d3b41c tarballs/acpica-unix2-20221020.tar.gz From 54d0cc9a3cf31963ebf0ca85a87a7e464ef678a7 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 26 Nov 2022 11:03:03 +0000 Subject: [PATCH 8/8] util/crossgcc: Use GitHub for downloading IASL The download links from acpica.org [1] are not stable, and for some reason they named the release tarballs with .tar_0.gz. Thus, use the tarballs from their GitHub repository generated out of the release tags [2]. Tested locally and also IASL patch applies. [1] https://www.acpica.org/downloads [2] https://github.com/acpica/acpica/tags Original-signed-off-by: Felix Singer Original-reviewed-on: https://review.coreboot.org/c/coreboot/+/70021 Original-reviewed-by: Angel Pons Original-reviewed-by: Elyes Haouas Original-reviewed-by: Arthur Heymans Original-tested-by: build bot (Jenkins) Cherry-picked-from: 60a422736bde766489db8ff0dc2d56ab333c37cc Change-Id: I7b10dd1db4299aaef96bc29023bed874b660aba0 Signed-off-by: Felix Singer Reviewed-on: https://review.coreboot.org/c/coreboot/+/70857 Tested-by: build bot (Jenkins) Reviewed-by: Elyes Haouas --- util/crossgcc/buildgcc | 6 +++--- ...nix2-20221020_iasl.patch => acpica-R10_20_22_iasl.patch} | 0 util/crossgcc/sum/R10_20_22.tar.gz.cksum | 1 + util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum | 1 - 4 files changed, 4 insertions(+), 4 deletions(-) rename util/crossgcc/patches/{acpica-unix2-20221020_iasl.patch => acpica-R10_20_22_iasl.patch} (100%) create mode 100644 util/crossgcc/sum/R10_20_22.tar.gz.cksum delete mode 100644 util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index d0364fd252..eea6d5a854 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -37,7 +37,7 @@ MPFR_VERSION=4.1.0 MPC_VERSION=1.2.1 GCC_VERSION=11.2.0 BINUTILS_VERSION=2.37 -IASL_VERSION=20221020 +IASL_VERSION="R10_20_22" # CLANG version number CLANG_VERSION=15.0.0 CMAKE_VERSION=3.24.2 @@ -52,7 +52,7 @@ MPFR_ARCHIVE="https://ftpmirror.gnu.org/mpfr/mpfr-${MPFR_VERSION}.tar.xz" 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" -IASL_ARCHIVE="https://acpica.org/sites/acpica/files/acpica-unix2-${IASL_VERSION}.tar.gz" +IASL_ARCHIVE="https://github.com/acpica/acpica/archive/refs/tags/${IASL_VERSION}.tar.gz" # CLANG toolchain archive locations LLVM_ARCHIVE="https://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/llvm-${CLANG_VERSION}.src.tar.xz" CLANG_ARCHIVE="https://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_VERSION}/clang-${CLANG_VERSION}.src.tar.xz" @@ -75,7 +75,7 @@ MPC_DIR="mpc-${MPC_VERSION}" GCC_DIR="gcc-${GCC_VERSION}" # shellcheck disable=SC2034 BINUTILS_DIR="binutils-${BINUTILS_VERSION}" -IASL_DIR="acpica-unix2-${IASL_VERSION}" +IASL_DIR="acpica-${IASL_VERSION}" # CLANG toolchain directories LLVM_DIR="llvm-${CLANG_VERSION}.src" CLANG_DIR="clang-${CLANG_VERSION}.src" diff --git a/util/crossgcc/patches/acpica-unix2-20221020_iasl.patch b/util/crossgcc/patches/acpica-R10_20_22_iasl.patch similarity index 100% rename from util/crossgcc/patches/acpica-unix2-20221020_iasl.patch rename to util/crossgcc/patches/acpica-R10_20_22_iasl.patch diff --git a/util/crossgcc/sum/R10_20_22.tar.gz.cksum b/util/crossgcc/sum/R10_20_22.tar.gz.cksum new file mode 100644 index 0000000000..4669dab43c --- /dev/null +++ b/util/crossgcc/sum/R10_20_22.tar.gz.cksum @@ -0,0 +1 @@ +560d9e43692e1957bcf24a9bdd663ffe77da88dd tarballs/R10_20_22.tar.gz diff --git a/util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum b/util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum deleted file mode 100644 index 1b2b5804da..0000000000 --- a/util/crossgcc/sum/acpica-unix2-20221020.tar.gz.cksum +++ /dev/null @@ -1 +0,0 @@ -bb175ba614e68d43a7a863335e83d3f832d3b41c tarballs/acpica-unix2-20221020.tar.gz