Page MenuHomeFreeBSD

D36699.id111455.diff
No OneTemporary

D36699.id111455.diff

diff --git a/sys/dev/acpica/acpi_cpu.c b/sys/dev/acpica/acpi_cpu.c
--- a/sys/dev/acpica/acpi_cpu.c
+++ b/sys/dev/acpica/acpi_cpu.c
@@ -396,6 +396,17 @@
*/
if (!acpi_disabled("mwait") && cpu_mwait_usable())
sc->cpu_features |= ACPI_CAP_SMP_C1_NATIVE | ACPI_CAP_SMP_C3_NATIVE;
+
+ /*
+ * Work around a lingering SMM bug which leads to freezes when handling
+ * CPPC notifications. Tell the SMM we will handle any CPPC notifications.
+ */
+ int cppcval = 0;
+ if ((cpu_power_eax & CPUTPM1_HWP_NOTIFICATION) &&
+ (resource_int_value("acpi", 0, "nocppcworkaround", &cppcval) != 0
+ || cppcval == 0)) {
+ sc->cpu_features |= ACPI_CAP_INTR_CPPC;
+ }
#endif
if (devclass_get_drivers(device_get_devclass(dev), &drivers,

File Metadata

Mime Type
text/plain
Expires
Thu, Nov 21, 3:17 PM (54 m, 17 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14763270
Default Alt Text
D36699.id111455.diff (772 B)

Event Timeline