summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2018-03-20 16:26:49 +0100
committerMichael Brown2018-03-20 16:26:49 +0100
commit3ec2079ce2078ff67c1f857eaf29293586bb5497 (patch)
treebf1f114ad62ac06393b11e4f682ee1b80ba6dfd5 /src/include
parent[efi] Provide Map_Mem() and associated UNDI callbacks (diff)
downloadipxe-3ec2079ce2078ff67c1f857eaf29293586bb5497.tar.gz
ipxe-3ec2079ce2078ff67c1f857eaf29293586bb5497.tar.xz
ipxe-3ec2079ce2078ff67c1f857eaf29293586bb5497.zip
[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 <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/acpi.h7
1 files changed, 7 insertions, 0 deletions
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' )