[PATCH 1/1] acpi: don't fill FADT, MADT if CONFIG_QFW_ACPI=y

When using the ACPI tables supplied by QEMU, we don't need to build the FADT and MADT tables in U-Boot.
This patch avoids a build failure
make qemu-riscv64_smode_defconfig acpi.config
riscv64-linux-gnu-ld.bfd: lib/acpi/acpi_table.o: in function `acpi_write_fadt': lib/acpi/acpi_table.c:265:(.text.acpi_write_fadt+0x15c): undefined reference to `acpi_fill_fadt'
riscv64-linux-gnu-ld.bfd: lib/acpi/acpi_table.o: in function `acpi_write_madt': lib/acpi/acpi_table.c:294:(.text.acpi_write_madt+0x52): undefined reference to `acpi_fill_madt'
Fixes: f5f7962091e4 ("acpi: x86: Write FADT in common code") Fixes: 4a3fc0f525da ("acpi: x86: Move MADT to common code") Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com --- lib/acpi/acpi_table.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/lib/acpi/acpi_table.c b/lib/acpi/acpi_table.c index 150f75027a5..c0ed24984af 100644 --- a/lib/acpi/acpi_table.c +++ b/lib/acpi/acpi_table.c @@ -273,7 +273,9 @@ int acpi_write_fadt(struct acpi_ctx *ctx, const struct acpi_writer *entry) return acpi_add_fadt(ctx, fadt); }
+#ifndef CONFIG_QFW_ACPI ACPI_WRITER(5fadt, "FADT", acpi_write_fadt, 0); +#endif
int acpi_write_madt(struct acpi_ctx *ctx, const struct acpi_writer *entry) { @@ -308,7 +310,9 @@ int acpi_write_madt(struct acpi_ctx *ctx, const struct acpi_writer *entry) return 0; }
+#ifndef CONFIG_QFW_ACPI ACPI_WRITER(5madt, "MADT", acpi_write_madt, 0); +#endif
void acpi_create_dbg2(struct acpi_dbg2_header *dbg2, int port_type, int port_subtype,

On Fri, Dec 20, 2024 at 1:38 AM Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
When using the ACPI tables supplied by QEMU, we don't need to build the FADT and MADT tables in U-Boot.
This patch avoids a build failure
make qemu-riscv64_smode_defconfig acpi.config riscv64-linux-gnu-ld.bfd: lib/acpi/acpi_table.o: in function `acpi_write_fadt': lib/acpi/acpi_table.c:265:(.text.acpi_write_fadt+0x15c): undefined reference to `acpi_fill_fadt' riscv64-linux-gnu-ld.bfd: lib/acpi/acpi_table.o: in function `acpi_write_madt': lib/acpi/acpi_table.c:294:(.text.acpi_write_madt+0x52): undefined reference to `acpi_fill_madt'
Fixes: f5f7962091e4 ("acpi: x86: Write FADT in common code") Fixes: 4a3fc0f525da ("acpi: x86: Move MADT to common code") Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
lib/acpi/acpi_table.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/lib/acpi/acpi_table.c b/lib/acpi/acpi_table.c index 150f75027a5..c0ed24984af 100644 --- a/lib/acpi/acpi_table.c +++ b/lib/acpi/acpi_table.c @@ -273,7 +273,9 @@ int acpi_write_fadt(struct acpi_ctx *ctx, const struct acpi_writer *entry) return acpi_add_fadt(ctx, fadt); }
+#ifndef CONFIG_QFW_ACPI ACPI_WRITER(5fadt, "FADT", acpi_write_fadt, 0); +#endif
int acpi_write_madt(struct acpi_ctx *ctx, const struct acpi_writer *entry) { @@ -308,7 +310,9 @@ int acpi_write_madt(struct acpi_ctx *ctx, const struct acpi_writer *entry) return 0; }
+#ifndef CONFIG_QFW_ACPI ACPI_WRITER(5madt, "MADT", acpi_write_madt, 0); +#endif
void acpi_create_dbg2(struct acpi_dbg2_header *dbg2, int port_type, int port_subtype, -- 2.47.1
Anything wrong with the patch series send Nov 14 2024 that addressed this issue as well?
Reviewed-by: Patrick Rudolph patrick.rudolph@9elements.com

On 20.12.24 07:30, Patrick Rudolph wrote:
On Fri, Dec 20, 2024 at 1:38 AM Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
When using the ACPI tables supplied by QEMU, we don't need to build the FADT and MADT tables in U-Boot.
This patch avoids a build failure
make qemu-riscv64_smode_defconfig acpi.config riscv64-linux-gnu-ld.bfd: lib/acpi/acpi_table.o: in function `acpi_write_fadt': lib/acpi/acpi_table.c:265:(.text.acpi_write_fadt+0x15c): undefined reference to `acpi_fill_fadt' riscv64-linux-gnu-ld.bfd: lib/acpi/acpi_table.o: in function `acpi_write_madt': lib/acpi/acpi_table.c:294:(.text.acpi_write_madt+0x52): undefined reference to `acpi_fill_madt'
Fixes: f5f7962091e4 ("acpi: x86: Write FADT in common code") Fixes: 4a3fc0f525da ("acpi: x86: Move MADT to common code") Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
lib/acpi/acpi_table.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/lib/acpi/acpi_table.c b/lib/acpi/acpi_table.c index 150f75027a5..c0ed24984af 100644 --- a/lib/acpi/acpi_table.c +++ b/lib/acpi/acpi_table.c @@ -273,7 +273,9 @@ int acpi_write_fadt(struct acpi_ctx *ctx, const struct acpi_writer *entry) return acpi_add_fadt(ctx, fadt); }
+#ifndef CONFIG_QFW_ACPI ACPI_WRITER(5fadt, "FADT", acpi_write_fadt, 0); +#endif
int acpi_write_madt(struct acpi_ctx *ctx, const struct acpi_writer *entry) { @@ -308,7 +310,9 @@ int acpi_write_madt(struct acpi_ctx *ctx, const struct acpi_writer *entry) return 0; }
+#ifndef CONFIG_QFW_ACPI ACPI_WRITER(5madt, "MADT", acpi_write_madt, 0); +#endif
void acpi_create_dbg2(struct acpi_dbg2_header *dbg2, int port_type, int port_subtype, -- 2.47.1
Anything wrong with the patch series send Nov 14 2024 that addressed this issue as well?
Reviewed-by: Patrick Rudolph patrick.rudolph@9elements.com
Could you, please, provide a link?
Best regards
Heinrich

Hi Heinrich, here it is https://lists.denx.de/pipermail/u-boot/2024-November/571757.html
I'm fine with either solution.
Regards, Patrick
On Thu, Jan 16, 2025 at 2:34 PM Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
On 20.12.24 07:30, Patrick Rudolph wrote:
On Fri, Dec 20, 2024 at 1:38 AM Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
When using the ACPI tables supplied by QEMU, we don't need to build the FADT and MADT tables in U-Boot.
This patch avoids a build failure
make qemu-riscv64_smode_defconfig acpi.config riscv64-linux-gnu-ld.bfd: lib/acpi/acpi_table.o: in function `acpi_write_fadt': lib/acpi/acpi_table.c:265:(.text.acpi_write_fadt+0x15c): undefined reference to `acpi_fill_fadt' riscv64-linux-gnu-ld.bfd: lib/acpi/acpi_table.o: in function `acpi_write_madt': lib/acpi/acpi_table.c:294:(.text.acpi_write_madt+0x52): undefined reference to `acpi_fill_madt'
Fixes: f5f7962091e4 ("acpi: x86: Write FADT in common code") Fixes: 4a3fc0f525da ("acpi: x86: Move MADT to common code") Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
lib/acpi/acpi_table.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/lib/acpi/acpi_table.c b/lib/acpi/acpi_table.c index 150f75027a5..c0ed24984af 100644 --- a/lib/acpi/acpi_table.c +++ b/lib/acpi/acpi_table.c @@ -273,7 +273,9 @@ int acpi_write_fadt(struct acpi_ctx *ctx, const struct acpi_writer *entry) return acpi_add_fadt(ctx, fadt); }
+#ifndef CONFIG_QFW_ACPI ACPI_WRITER(5fadt, "FADT", acpi_write_fadt, 0); +#endif
int acpi_write_madt(struct acpi_ctx *ctx, const struct acpi_writer *entry) { @@ -308,7 +310,9 @@ int acpi_write_madt(struct acpi_ctx *ctx, const struct acpi_writer *entry) return 0; }
+#ifndef CONFIG_QFW_ACPI ACPI_WRITER(5madt, "MADT", acpi_write_madt, 0); +#endif
void acpi_create_dbg2(struct acpi_dbg2_header *dbg2, int port_type, int port_subtype, -- 2.47.1
Anything wrong with the patch series send Nov 14 2024 that addressed this issue as well?
Reviewed-by: Patrick Rudolph patrick.rudolph@9elements.com
Could you, please, provide a link?
Best regards
Heinrich

On 16.01.25 15:16, Patrick Rudolph wrote:
On Thu, Jan 16, 2025 at 2:34 PM Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
Anything wrong with the patch series send Nov 14 2024 that addressed
this issue as well?
Reviewed-by: Patrick Rudolph patrick.rudolph@9elements.com
Could you, please, provide a link?
> Hi Heinrich,
here it is https://lists.denx.de/pipermail/u-boot/2024-November/571757.html
I'm fine with either solution.
Regards, Patrick
I was not aware of your patch, sorry.
With my patch the code size will be a bit smaller as the linker list entries are not generated and functions acpi_write_madt() and acpi_write_fadt() will be eliminated by the linker. I guess this is the right way forward.
Best regards
Heinrich

On Fri, 20 Dec 2024 01:37:59 +0100, Heinrich Schuchardt wrote:
When using the ACPI tables supplied by QEMU, we don't need to build the FADT and MADT tables in U-Boot.
This patch avoids a build failure
make qemu-riscv64_smode_defconfig acpi.config
[...]
Applied to u-boot/master, thanks!
participants (3)
-
Heinrich Schuchardt
-
Patrick Rudolph
-
Tom Rini