[U-Boot] [PATCH v2 18/28] x86: acpi: Align FACS table to a 64 byte boundary
Bin Meng
bmeng.cn at gmail.com
Sat May 7 16:46:27 CEST 2016
Per ACPI spec, the FACS table address must be aligned to a 64 byte
boundary (Windows checks this, but Linux does not).
Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
Reviewed-by: Stefan Roese <sr at denx.de>
Tested-by: Stefan Roese <sr at denx.de>
---
Changes in v2:
- Add comments before the 64 byte alignment for FACS
arch/x86/lib/acpi_table.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index 7cde9c8..056d012 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -339,7 +339,11 @@ u32 write_acpi_tables(u32 start)
current = ALIGN(current, 16);
xsdt = (struct acpi_xsdt *)current;
current += sizeof(struct acpi_xsdt);
- current = ALIGN(current, 16);
+ /*
+ * Per ACPI spec, the FACS table address must be aligned to a 64 byte
+ * boundary (Windows checks this, but Linux does not).
+ */
+ current = ALIGN(current, 64);
/* clear all table memory */
memset((void *)start, 0, current - start);
--
1.8.2.1
More information about the U-Boot
mailing list