summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2016-05-07 07:46:27 -0700
committerBin Meng <bmeng.cn@gmail.com>2016-05-23 15:18:00 +0800
commit25e133ecb760a46f6b4a88b4b17aecfb0d6af8dd (patch)
tree2925b4e0dece4bd5c4dfc52fa952b159e13b3f68
parent7e79a6bc2edb7a7dd82cdabaceaa34dbb4ab5a55 (diff)
downloadu-boot-imx-25e133ecb760a46f6b4a88b4b17aecfb0d6af8dd.zip
u-boot-imx-25e133ecb760a46f6b4a88b4b17aecfb0d6af8dd.tar.gz
u-boot-imx-25e133ecb760a46f6b4a88b4b17aecfb0d6af8dd.tar.bz2
x86: acpi: Align FACS table to a 64 byte boundary
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@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de> Tested-by: Stefan Roese <sr@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/x86/lib/acpi_table.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index 7ff6e8c..9cdea93 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);