From 3ec2079ce2078ff67c1f857eaf29293586bb5497 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 20 Mar 2018 17:26:49 +0200 Subject: [time] Add support for the ACPI power management timer Allow the ACPI power management timer to be used if enabled via TIMER_ACPI in config/timer.h. This provides an alternative timer on systems where the standard 8254 PIT is unavailable or unreliable. Signed-off-by: Michael Brown --- src/include/ipxe/acpi.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/include') diff --git a/src/include/ipxe/acpi.h b/src/include/ipxe/acpi.h index 68131e73..78f40253 100644 --- a/src/include/ipxe/acpi.h +++ b/src/include/ipxe/acpi.h @@ -119,6 +119,10 @@ struct acpi_fadt { uint32_t pm1a_cnt_blk; /** PM1b Control Register Block */ uint32_t pm1b_cnt_blk; + /** PM2 Control Register Block */ + uint32_t pm2_cnt_blk; + /** PM Timer Control Register Block */ + uint32_t pm_tmr_blk; } __attribute__ (( packed )); /** ACPI PM1 Control Register (within PM1a_CNT_BLK or PM1A_CNT_BLK) */ @@ -126,6 +130,9 @@ struct acpi_fadt { #define ACPI_PM1_CNT_SLP_TYP(x) ( (x) << 10 ) /**< Sleep type */ #define ACPI_PM1_CNT_SLP_EN ( 1 << 13 ) /**< Sleep enable */ +/** ACPI PM Timer Register (within PM_TMR_BLK) */ +#define ACPI_PM_TMR 0 + /** Differentiated System Description Table (DSDT) signature */ #define DSDT_SIGNATURE ACPI_SIGNATURE ( 'D', 'S', 'D', 'T' ) -- cgit v1.2.3-55-g7522