From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bin Meng Date: Sat, 7 May 2016 07:46:27 -0700 Subject: [U-Boot] [PATCH v2 18/28] x86: acpi: Align FACS table to a 64 byte boundary In-Reply-To: <1462632397-11224-1-git-send-email-bmeng.cn@gmail.com> References: <1462632397-11224-1-git-send-email-bmeng.cn@gmail.com> Message-ID: <1462632397-11224-19-git-send-email-bmeng.cn@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 Reviewed-by: Stefan Roese Tested-by: Stefan Roese --- 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