diff options
author | jkim <jkim@FreeBSD.org> | 2013-07-26 18:20:00 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2013-07-26 18:20:00 +0000 |
commit | 8e9a373708032aaf58694e237e3889d7d3fd796f (patch) | |
tree | e05da15a04629f6e36af5ca6c81a2efda47a9dc3 /source/components/hardware/hwtimer.c | |
parent | 7aca7201724cb02a2a0541bd3ad2c0aca23dd076 (diff) | |
download | FreeBSD-src-8e9a373708032aaf58694e237e3889d7d3fd796f.zip FreeBSD-src-8e9a373708032aaf58694e237e3889d7d3fd796f.tar.gz |
Import ACPICA 20130725.
Diffstat (limited to 'source/components/hardware/hwtimer.c')
-rw-r--r-- | source/components/hardware/hwtimer.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/source/components/hardware/hwtimer.c b/source/components/hardware/hwtimer.c index 7e4177a..cbfa96b 100644 --- a/source/components/hardware/hwtimer.c +++ b/source/components/hardware/hwtimer.c @@ -115,8 +115,14 @@ AcpiGetTimer ( return_ACPI_STATUS (AE_BAD_PARAMETER); } - Status = AcpiHwRead (Ticks, &AcpiGbl_FADT.XPmTimerBlock); + /* ACPI 5.0A: PM Timer is optional */ + if (!AcpiGbl_FADT.XPmTimerBlock.Address) + { + return_ACPI_STATUS (AE_SUPPORT); + } + + Status = AcpiHwRead (Ticks, &AcpiGbl_FADT.XPmTimerBlock); return_ACPI_STATUS (Status); } @@ -171,6 +177,13 @@ AcpiGetTimerDuration ( return_ACPI_STATUS (AE_BAD_PARAMETER); } + /* ACPI 5.0A: PM Timer is optional */ + + if (!AcpiGbl_FADT.XPmTimerBlock.Address) + { + return_ACPI_STATUS (AE_SUPPORT); + } + /* * Compute Tick Delta: * Handle (max one) timer rollovers on 24-bit versus 32-bit timers. |