public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH 1/2] x86: acpi: Fix calculation of DSDT length
@ 2020-09-09 12:33 Wolfgang Wallner
  2020-09-09 12:33 ` [PATCH 2/2] x86: acpi: Add memset to initialize SPCR table Wolfgang Wallner
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Wolfgang Wallner @ 2020-09-09 12:33 UTC (permalink / raw)
  To: u-boot

Currently, the calculation for the length of the DSDT table includes any
bytes that are added for alignment, but those bytes are not initialized.

This is because the DSDT length is calculated after a call to
acpi_inc_align(). Split this up into the following sequence:

  * acpi_inc()
  * Calculate DSDT length
  * acpi_align()

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>

---

 arch/x86/lib/acpi_table.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index 3a93fedfc3..6b827bfa3f 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -427,7 +427,7 @@ ulong write_acpi_tables(ulong start_addr)
 	       (char *)&AmlCode + sizeof(struct acpi_table_header),
 	       dsdt->length - sizeof(struct acpi_table_header));
 
-	acpi_inc_align(ctx, dsdt->length - sizeof(struct acpi_table_header));
+	acpi_inc(ctx, dsdt->length - sizeof(struct acpi_table_header));
 
 	/* Pack GNVS into the ACPI table area */
 	for (i = 0; i < dsdt->length; i++) {
@@ -450,6 +450,8 @@ ulong write_acpi_tables(ulong start_addr)
 	dsdt->checksum = 0;
 	dsdt->checksum = table_compute_checksum((void *)dsdt, dsdt->length);
 
+	acpi_align(ctx);
+
 	/*
 	 * Fill in platform-specific global NVS variables. If this fails we
 	 * cannot return the error but this should only happen while debugging.
-- 
2.28.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-09-16 15:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-09 12:33 [PATCH 1/2] x86: acpi: Fix calculation of DSDT length Wolfgang Wallner
2020-09-09 12:33 ` [PATCH 2/2] x86: acpi: Add memset to initialize SPCR table Wolfgang Wallner
2020-09-09 13:09   ` Andy Shevchenko
2020-09-09 14:35   ` Simon Glass
2020-09-09 13:08 ` [PATCH 1/2] x86: acpi: Fix calculation of DSDT length Andy Shevchenko
2020-09-09 13:11   ` Andy Shevchenko
2020-09-16 15:00     ` Wolfgang Wallner
2020-09-16 15:53       ` Andy Shevchenko
2020-09-09 14:35 ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox