summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi_cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/acpica/acpi_cpu.c')
-rw-r--r--sys/dev/acpica/acpi_cpu.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi_cpu.c b/sys/dev/acpica/acpi_cpu.c
index eb34753..85a706f 100644
--- a/sys/dev/acpica/acpi_cpu.c
+++ b/sys/dev/acpica/acpi_cpu.c
@@ -44,6 +44,9 @@ __FBSDID("$FreeBSD$");
#include <dev/pci/pcivar.h>
#include <machine/atomic.h>
#include <machine/bus.h>
+#if defined(__amd64__) || defined(__i386__)
+#include <machine/clock.h>
+#endif
#include <sys/rman.h>
#include <contrib/dev/acpica/include/acpi.h>
@@ -510,6 +513,14 @@ acpi_cpu_read_ivar(device_t dev, device_t child, int index, uintptr_t *result)
case CPU_IVAR_PCPU:
*result = (uintptr_t)sc->cpu_pcpu;
break;
+#if defined(__amd64__) || defined(__i386__)
+ case CPU_IVAR_NOMINAL_MHZ:
+ if (tsc_is_invariant) {
+ *result = (uintptr_t)(tsc_freq / 1000000);
+ break;
+ }
+ /* FALLTHROUGH */
+#endif
default:
return (ENOENT);
}
OpenPOWER on IntegriCloud