diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2016-05-07 14:46:27 (GMT) |
---|---|---|
committer | Bin Meng <bmeng.cn@gmail.com> | 2016-05-23 07:18:00 (GMT) |
commit | 25e133ecb760a46f6b4a88b4b17aecfb0d6af8dd (patch) | |
tree | 2925b4e0dece4bd5c4dfc52fa952b159e13b3f68 /arch/x86 | |
parent | 7e79a6bc2edb7a7dd82cdabaceaa34dbb4ab5a55 (diff) | |
download | u-boot-25e133ecb760a46f6b4a88b4b17aecfb0d6af8dd.tar.xz |
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>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/lib/acpi_table.c | 6 |
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); |