summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpivar.h
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2005-04-04 15:46:57 +0000
committernjl <njl@FreeBSD.org>2005-04-04 15:46:57 +0000
commitd86c0f0246923fef84d041bedbe5777eef2c6cbd (patch)
tree62641d5050bd0503eeb09c6f52e3a138ab666e42 /sys/dev/acpica/acpivar.h
parentf9c3ff58ce75f8b20055bb559bd6d108e55c0fda (diff)
downloadFreeBSD-src-d86c0f0246923fef84d041bedbe5777eef2c6cbd.zip
FreeBSD-src-d86c0f0246923fef84d041bedbe5777eef2c6cbd.tar.gz
Add the acpi_get_features() method. This method is called on child drivers
to see what features they may support before calling identify/probe/attach. This is necessary because the ACPI 3.0 spec requires driver support be advertised before running any methods. For now, the flags are as specified in for the _PDC and _OSC methods but we can support private flags as needed. Add an implementation of this for acpi_cpu. It checks all its children (notably cpufreq drivers) and calls the _PDC method to report the results.
Diffstat (limited to 'sys/dev/acpica/acpivar.h')
-rw-r--r--sys/dev/acpica/acpivar.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h
index 053aed2..3935367 100644
--- a/sys/dev/acpica/acpivar.h
+++ b/sys/dev/acpica/acpivar.h
@@ -166,6 +166,20 @@ extern struct mtx acpi_mutex;
#define ACPI_INTR_SAPIC 2
/*
+ * Various features and capabilities for the acpi_get_features() method.
+ * In particular, these are used for the ACPI 3.0 _PDC and _OSC methods.
+ */
+#define ACPI_CAP_PERF_MSRS (1 << 0) /* Intel SpeedStep PERF_CTL MSRs */
+#define ACPI_CAP_C1_IO_HALT (1 << 1) /* Intel C1 "IO then halt" sequence */
+#define ACPI_CAP_THR_MSRS (1 << 2) /* Intel OnDemand throttling MSRs */
+#define ACPI_CAP_SMP_SAME (1 << 3) /* MP C1, Px, and Tx (all the same) */
+#define ACPI_CAP_SMP_SAME_C3 (1 << 4) /* MP C2 and C3 (all the same) */
+#define ACPI_CAP_SMP_DIFF_PX (1 << 5) /* MP Px (different, using _PSD) */
+#define ACPI_CAP_SMP_DIFF_CX (1 << 6) /* MP Cx (different, using _CSD) */
+#define ACPI_CAP_SMP_DIFF_TX (1 << 7) /* MP Tx (different, using _TSD) */
+#define ACPI_CAP_SMP_C1_NATIVE (1 << 8) /* MP C1 support other than halt */
+
+/*
* Quirk flags.
*
* ACPI_Q_BROKEN: Disables all ACPI support.
OpenPOWER on IntegriCloud