x86_64: acpi: disable PM timer in forwarded FADT

There is currently no use case for the PM timer in the guest and TMR_STS
is not implemented in vPM1, so disable it altogether for now.

BUG=b:199383670
TEST=boot manatee

Change-Id: I61b214a466becef2d923fdbfe450c31b08b70037
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3528533
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
This commit is contained in:
Peter Fang 2022-03-16 01:48:56 -07:00 committed by Commit Bot
parent 550ed754da
commit 5a0d2db95e

View file

@ -115,11 +115,13 @@ const FADT_FIELD_PM1B_EVENT_BLK_ADDR: usize = 60;
const FADT_FIELD_PM1A_CONTROL_BLK_ADDR: usize = 64;
const FADT_FIELD_PM1B_CONTROL_BLK_ADDR: usize = 68;
const FADT_FIELD_PM2_CONTROL_BLK_ADDR: usize = 72;
const FADT_FIELD_PM_TMR_BLK_ADDR: usize = 76;
const FADT_FIELD_GPE0_BLK_ADDR: usize = 80;
const FADT_FIELD_GPE1_BLK_ADDR: usize = 84;
const FADT_FIELD_PM1A_EVENT_BLK_LEN: usize = 88;
const FADT_FIELD_PM1A_CONTROL_BLK_LEN: usize = 89;
const FADT_FIELD_PM2_CONTROL_BLK_LEN: usize = 90;
const FADT_FIELD_PM_TMR_LEN: usize = 91;
const FADT_FIELD_GPE0_BLK_LEN: usize = 92;
const FADT_FIELD_GPE1_BLK_LEN: usize = 93;
const FADT_FIELD_GPE1_BASE: usize = 94;
@ -134,6 +136,7 @@ const FADT_FIELD_X_PM1B_EVENT_BLK_ADDR: usize = 160;
const FADT_FIELD_X_PM1A_CONTROL_BLK_ADDR: usize = 172;
const FADT_FIELD_X_PM1B_CONTROL_BLK_ADDR: usize = 184;
const FADT_FIELD_X_PM2_CONTROL_BLK_ADDR: usize = 196;
const FADT_FIELD_X_PM_TMR_BLK_ADDR: usize = 208;
const FADT_FIELD_X_GPE0_BLK_ADDR: usize = 220;
const FADT_FIELD_X_GPE1_BLK_ADDR: usize = 232;
const FADT_FIELD_HYPERVISOR_ID: usize = 268;
@ -252,6 +255,9 @@ fn write_facp_overrides(
// PM2 Control Block Address (not supported)
facp.write(FADT_FIELD_PM2_CONTROL_BLK_ADDR, 0u32);
// PM Timer Control Block Address (not supported)
facp.write(FADT_FIELD_PM_TMR_BLK_ADDR, 0u32);
// GPE0 Block Address
facp.write(
FADT_FIELD_GPE0_BLK_ADDR,
@ -276,6 +282,9 @@ fn write_facp_overrides(
// PM2 Control Block Length (not supported)
facp.write(FADT_FIELD_PM2_CONTROL_BLK_LEN, 0u8);
// PM Timer Control Block Length (not supported)
facp.write(FADT_FIELD_PM_TMR_LEN, 0u8);
// GPE0 Block Length
facp.write(
FADT_FIELD_GPE0_BLK_LEN,
@ -328,6 +337,14 @@ fn write_facp_overrides(
},
);
// PM Timer Extended Control Block Address (not supported)
facp.write(
FADT_FIELD_X_PM_TMR_BLK_ADDR,
GenericAddress {
..Default::default()
},
);
// GPE0 Extended Address (not supported)
facp.write(
FADT_FIELD_X_GPE0_BLK_ADDR,