Lines 403-410
acpi_cpu_attach(device_t dev)
Link Here
|
403 |
* Work around a lingering SMM bug which leads to freezes when handling |
403 |
* Work around a lingering SMM bug which leads to freezes when handling |
404 |
* CPPC notifications. Tell the SMM we will handle any CPPC notifications. |
404 |
* CPPC notifications. Tell the SMM we will handle any CPPC notifications. |
405 |
*/ |
405 |
*/ |
406 |
if ((cpu_power_eax & CPUTPM1_HWP_NOTIFICATION) && cppc_notify) |
406 |
if ((cpu_power_eax & CPUTPM1_HWP_NOTIFICATION) && cppc_notify) { |
|
|
407 |
device_printf(dev, "==> DEBUG: OK\n"); |
407 |
sc->cpu_features |= ACPI_CAP_INTR_CPPC; |
408 |
sc->cpu_features |= ACPI_CAP_INTR_CPPC; |
|
|
409 |
} else { |
410 |
device_printf(dev, "==> DEBUG: res: %d eax: 0x%x mask: 0x%x " |
411 |
"cppc_notify: %d\n", |
412 |
(cpu_power_eax & CPUTPM1_HWP_NOTIFICATION), |
413 |
cpu_power_eax, CPUTPM1_HWP_NOTIFICATION, |
414 |
cppc_notify); |
415 |
} |
408 |
#endif |
416 |
#endif |
409 |
|
417 |
|
410 |
if (devclass_get_drivers(acpi_cpu_devclass, &drivers, &drv_count) == 0) { |
418 |
if (devclass_get_drivers(acpi_cpu_devclass, &drivers, &drv_count) == 0) { |
Lines 990-995
acpi_cpu_startup(void *arg)
Link Here
|
990 |
SYSCTL_ADD_BOOL(&cpu_sysctl_ctx, SYSCTL_CHILDREN(cpu_sysctl_tree), |
998 |
SYSCTL_ADD_BOOL(&cpu_sysctl_ctx, SYSCTL_CHILDREN(cpu_sysctl_tree), |
991 |
OID_AUTO, "cppc_notify", CTLFLAG_RDTUN | CTLFLAG_MPSAFE, |
999 |
OID_AUTO, "cppc_notify", CTLFLAG_RDTUN | CTLFLAG_MPSAFE, |
992 |
&cppc_notify, 0, "Register for CPPC Notifications"); |
1000 |
&cppc_notify, 0, "Register for CPPC Notifications"); |
|
|
1001 |
device_printf(sc->cpu_dev, "==> DEBUG init cppc_notify: %d\n", cppc_notify); |
993 |
|
1002 |
|
994 |
/* Take over idling from cpu_idle_default(). */ |
1003 |
/* Take over idling from cpu_idle_default(). */ |
995 |
cpu_cx_lowest_lim = 0; |
1004 |
cpu_cx_lowest_lim = 0; |