opnsense-src/sys/dev/acpica
Tom Jones 308d3d6be6 acpi: Tell SMM we will handle CPPC notifications
Buggy SMM implementations can hang while processing CPPC notifications.
This leads to some laptops (notably Thinkpads) hanging when the
hwpstate_intel driver is loaded.

Tell the SMM that we will handle CPPC notifications as described in:

- Intel® Processor Vendor-Specific ACPI
- Intel® 64 and IA-32 Architectures Software Developer’s Manual

CPPC events default to masked (disabled) so while we do not do any
handling right now this does not seem to lead to any issues.

This approach was found via this Linux Kernel patch:
https://lkml.org/lkml/2016/3/17/563

PR:		253288
Reviewed by:	imp, jhb
Sponsored by:	Modirum
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D36699

(cherry picked from commit 67f2a563bf)
(cherry picked from commit eee0f7aea4)
(cherry picked from commit 15bd2f366d)
2022-12-08 20:02:39 +00:00
..
Osd acpica: clean up empty lines in .c and .h files 2020-09-01 21:32:41 +00:00
acpi.c ACPI: change arguments to internal acpi_find_dsd() 2022-07-18 00:43:32 +00:00
acpi_acad.c acpica: Remove CTLFLAG_NEEDGIANT from most sysctls. 2022-01-09 19:29:55 -05:00
acpi_apei.c acpi_apei: Add sysctl to mute corrected errors. 2022-08-15 13:31:44 -04:00
acpi_battery.c
acpi_bus_if.m Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2022-02-08 15:00:55 -05:00
acpi_button.c
acpi_cmbat.c
acpi_container.c
acpi_cpu.c acpi: Tell SMM we will handle CPPC notifications 2022-12-08 20:02:39 +00:00
acpi_dock.c Create wrapper for Giant taken for newbus 2022-06-21 17:13:20 +02:00
acpi_ec.c
acpi_hpet.c hpet: Allow a MMIO window smaller than 1K 2022-04-27 09:33:56 -04:00
acpi_hpet.h hpet: Allow a MMIO window smaller than 1K 2022-04-27 09:33:56 -04:00
acpi_if.m acpica: add ACPI_GET_PROPERTY to access Device Specific Data (DSD) 2022-03-30 00:24:25 +02:00
acpi_isab.c acpica: clean up empty lines in .c and .h files 2020-09-01 21:32:41 +00:00
acpi_lid.c
acpi_package.c
acpi_pci.c Create wrapper for Giant taken for newbus 2022-06-21 17:13:20 +02:00
acpi_pci_link.c acpi: mark INVARIANTS variables as __diagused 2022-08-28 21:04:19 -04:00
acpi_pcib.c
acpi_pcib_acpi.c
acpi_pcib_pci.c
acpi_pcibvar.h
acpi_pcivar.h
acpi_perf.c Make CPU children explicitly share parent unit numbers. 2022-01-04 12:21:42 -05:00
acpi_powerres.c acpica: clean up empty lines in .c and .h files 2020-09-01 21:32:41 +00:00
acpi_pxm.c acpi: Ensure that adjacent memory affinity table entries are coalesced 2020-12-18 16:04:48 +00:00
acpi_quirk.c
acpi_quirks
acpi_resource.c Support fixed size, variable location acpi resources 2021-08-05 20:50:20 +00:00
acpi_smbat.c
acpi_smbus.h acpica: clean up empty lines in .c and .h files 2020-09-01 21:32:41 +00:00
acpi_thermal.c acpica: Remove CTLFLAG_NEEDGIANT from most sysctls. 2022-01-09 19:29:55 -05:00
acpi_throttle.c Make CPU children explicitly share parent unit numbers. 2022-01-04 12:21:42 -05:00
acpi_timer.c Adjust function definition in acpi_timer.c to avoid clang 15 warnings 2022-07-29 20:29:08 +02:00
acpi_video.c acpica: Remove CTLFLAG_NEEDGIANT from most sysctls. 2022-01-09 19:29:55 -05:00
acpiio.h
acpivar.h acpica: add ACPI_GET_PROPERTY to access Device Specific Data (DSD) 2022-03-30 00:24:25 +02:00