summaryrefslogtreecommitdiffstats
path: root/source/components/hardware/hwtimer.c
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2013-07-26 18:20:00 +0000
committerjkim <jkim@FreeBSD.org>2013-07-26 18:20:00 +0000
commit8e9a373708032aaf58694e237e3889d7d3fd796f (patch)
treee05da15a04629f6e36af5ca6c81a2efda47a9dc3 /source/components/hardware/hwtimer.c
parent7aca7201724cb02a2a0541bd3ad2c0aca23dd076 (diff)
downloadFreeBSD-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.c15
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.
OpenPOWER on IntegriCloud