x86/acpi: clear SMI COMMAND field.

SMI Interface is not supported by crosvm. Clear FADT.SMI_COMMAND field
to disable ACPI enable/disable transitions.

BUG=b:145604457
TEST=Boot system with user provided ACPI tables.

Change-Id: I17daafc4b2ffded5ba8235ad19e24aa67ad5c8a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2893368
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Tomasz Jeznach <tjeznach@chromium.org>
This commit is contained in:
Tomasz Jeznach 2021-05-12 18:17:07 -07:00 committed by Commit Bot
parent e1dff2eef8
commit d8e37614d9

View file

@ -53,6 +53,7 @@ const FADT_SLEEP_BUTTON: u32 = 1 << 5;
const FADT_FIELD_FACS_ADDR32: usize = 36;
const FADT_FIELD_DSDT_ADDR32: usize = 40;
const FADT_FIELD_SCI_INTERRUPT: usize = 46;
const FADT_FIELD_SMI_COMMAND: usize = 48;
const FADT_FIELD_PM1A_EVENT_BLK_ADDR: usize = 56;
const FADT_FIELD_PM1A_CONTROL_BLK_ADDR: usize = 64;
const FADT_FIELD_PM1A_EVENT_BLK_LEN: usize = 88;
@ -207,6 +208,7 @@ pub fn create_acpi_tables(
let mut facp = facp.unwrap_or_else(|| create_facp_table(sci_irq as u16, pm_iobase));
// Crosvm FACP overrides.
facp.write(FADT_FIELD_SMI_COMMAND, 0u32);
facp.write(FADT_FIELD_FACS_ADDR32, 0u32);
facp.write(FADT_FIELD_DSDT_ADDR32, 0u32);
facp.write(FADT_FIELD_FACS_ADDR, facs_offset.0 as u64);