#
# [31mCONFIG_ACPI[0m Configuration
#
menuconfig [31mCONFIG_ACPI[0m
bool "ACPI (Advanced Configuration and Power Interface) Support"
depends on ![31mCONFIG_IA64_HP_SIM[0m
depends on [31mCONFIG_IA64[0m || [31mCONFIG_X86[0m || [31mCONFIG_ARM64[0m
depends on [31mCONFIG_PCI[0m
select [31mCONFIG_PNP[0m
default y if ([31mCONFIG_IA64[0m || [31mCONFIG_X86[0m)
help
Advanced Configuration and Power Interface ([31mCONFIG_ACPI[0m) support for
Linux requires an [31mCONFIG_ACPI[0m-compliant platform (hardware/firmware),
and assumes the presence of OS-directed configuration and power
management (OSPM) software. This option will enlarge your
kernel by about 70K.
Linux [31mCONFIG_ACPI[0m provides a robust functional replacement for several
legacy configuration and power management interfaces, including
the Plug-and-Play BIOS specification (PnP BIOS), the
MultiProcessor Specification (MPS), and the Advanced Power
Management ([31mCONFIG_APM[0m) specification. If both [31mCONFIG_ACPI[0m and [31mCONFIG_APM[0m support
are configured, [31mCONFIG_ACPI[0m is used.
The project home page for the Linux [31mCONFIG_ACPI[0m subsystem is here:
<https://01.org/linux-acpi>
Linux support for [31mCONFIG_ACPI[0m is based on Intel Corporation's [31mCONFIG_ACPI[0m
Component Architecture ([31mCONFIG_ACPI[0m CA). For more information on the
[31mCONFIG_ACPI[0m CA, see:
<http://acpica.org/>
[31mCONFIG_ACPI[0m is an open industry specification originally co-developed by
Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Currently,
it is developed by the [31mCONFIG_ACPI[0m Specification Working Group (ASWG) under
the UEFI Forum and any UEFI member can join the ASWG and contribute
to the [31mCONFIG_ACPI[0m specification.
The specification is available at:
<http://www.acpi.info>
<http://www.uefi.org/acpi/specs>
if [31mCONFIG_ACPI[0m
config [31mCONFIG_ACPI_LEGACY_TABLES_LOOKUP[0m
bool
config [31mCONFIG_ARCH_MIGHT_HAVE_ACPI_PDC[0m
bool
config [31mCONFIG_ACPI_GENERIC_GSI[0m
bool
config [31mCONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT[0m
bool
config [31mCONFIG_ACPI_CCA_REQUIRED[0m
bool
config [31mCONFIG_ACPI_DEBUGGER[0m
bool "AML debugger interface"
select [31mCONFIG_ACPI_DEBUG[0m
help
Enable in-kernel debugging of AML facilities: statistics,
internal object dump, single step control method execution.
This is still under development, currently enabling this only
results in the compilation of the ACPICA debugger files.
if [31mCONFIG_ACPI_DEBUGGER[0m
config [31mCONFIG_ACPI_DEBUGGER_USER[0m
tristate "Userspace debugger accessiblity"
depends on [31mCONFIG_DEBUG_FS[0m
help
Export /sys/kernel/debug/acpi/acpidbg for userspace utilities
to access the debugger functionalities.
endif
config [31mCONFIG_ACPI_SPCR_TABLE[0m
bool
config [31mCONFIG_ACPI_SLEEP[0m
bool
depends on [31mCONFIG_SUSPEND[0m || [31mCONFIG_HIBERNATION[0m
depends on [31mCONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT[0m
default y
config [31mCONFIG_ACPI_PROCFS_POWER[0m
bool "Deprecated power /proc/acpi directories"
depends on [31mCONFIG_X86[0m && [31mCONFIG_PROC_FS[0m
help
For backwards compatibility, this option allows
deprecated power /proc/acpi/ directories to exist, even when
they have been replaced by functions in /sys.
The deprecated directories (and their replacements) include:
/proc/acpi/battery/* (/sys/class/power_supply/*)
/proc/acpi/ac_adapter/* (sys/class/power_supply/*)
This option has no effect on /proc/acpi/ directories
and functions, which do not yet exist in /sys
This option, together with the proc directories, will be
deleted in the future.
Say N to delete power /proc/acpi/ directories that have moved to /sys/
config [31mCONFIG_ACPI_REV_OVERRIDE_POSSIBLE[0m
bool "Allow supported ACPI revision to be overridden"
depends on [31mCONFIG_X86[0m
default y
help
The platform firmware on some systems expects Linux to return "5" as
the supported [31mCONFIG_ACPI[0m revision which makes it expose system configuration
information in a special way.
For example, based on what [31mCONFIG_ACPI[0m exports as the supported revision,
Dell [31mCONFIG_XPS[0m 13 (2015) configures its audio device to either work in HDA
mode or in I2S mode, where the former is supposed to be used on Linux
until the latter is fully supported (in the kernel as well as in user
space).
This option enables a [31mCONFIG_DMI[0m-based quirk for the above Dell machine (so
that HDA audio is exposed by the platform firmware to the kernel) and
makes it possible to force the kernel to return "5" as the supported
[31mCONFIG_ACPI[0m revision via the "acpi_rev_override" command line switch.
config [31mCONFIG_ACPI_EC_DEBUGFS[0m
tristate "EC read/write access through /sys/kernel/debug/ec"
default n
help
Say N to disable Embedded Controller /sys/kernel/debug interface
Be aware that using this interface can confuse your Embedded
Controller in a way that a normal reboot is not enough. You then
have to power off your system, and remove the laptop battery for
some seconds.
An Embedded Controller typically is available on laptops and reads
sensor values like battery state and temperature.
The kernel accesses the EC through [31mCONFIG_ACPI[0m parsed code provided by BIOS
tables. This option allows to access the EC directly without [31mCONFIG_ACPI[0m
code being involved.
Thus this option is a debug option that helps to write [31mCONFIG_ACPI[0m drivers
and can be used to identify [31mCONFIG_ACPI[0m code or EC firmware bugs.
config [31mCONFIG_ACPI_AC[0m
tristate "AC Adapter"
depends on [31mCONFIG_X86[0m
select [31mCONFIG_POWER_SUPPLY[0m
default y
help
This driver supports the AC Adapter object, which indicates
whether a system is on AC or not. If you have a system that can
switch between [31mCONFIG_A[0m/[31mCONFIG_C[0m and battery, say Y.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called ac.
config [31mCONFIG_ACPI_BATTERY[0m
tristate "Battery"
depends on [31mCONFIG_X86[0m
select [31mCONFIG_POWER_SUPPLY[0m
default y
help
This driver adds support for battery information through
/proc/acpi/battery. If you have a mobile system with a battery,
say Y.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called battery.
config [31mCONFIG_ACPI_BUTTON[0m
tristate "Button"
depends on [31mCONFIG_INPUT[0m
default y
help
This driver handles events on the power, sleep, and lid buttons.
[31mCONFIG_A[0m daemon reads events from input devices or via netlink and
performs user-defined actions such as shutting down the system.
This is necessary for software-controlled poweroff.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called button.
config [31mCONFIG_ACPI_VIDEO[0m
tristate "Video"
depends on [31mCONFIG_X86[0m && [31mCONFIG_BACKLIGHT_CLASS_DEVICE[0m
depends on [31mCONFIG_INPUT[0m
select [31mCONFIG_THERMAL[0m
help
This driver implements the [31mCONFIG_ACPI[0m Extensions For Display Adapters
for integrated graphics devices on motherboard, as specified in
[31mCONFIG_ACPI[0m 2.0 Specification, Appendix [31mCONFIG_B[0m. This supports basic operations
such as defining the video POST device, retrieving EDID information,
and setting up a video output.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called video.
config [31mCONFIG_ACPI_FAN[0m
tristate "Fan"
depends on [31mCONFIG_THERMAL[0m
default y
help
This driver supports [31mCONFIG_ACPI[0m fan devices, allowing user-mode
applications to perform basic fan control (on, off, status).
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called fan.
config [31mCONFIG_ACPI_DOCK[0m
bool "Dock"
help
This driver supports [31mCONFIG_ACPI[0m-controlled docking stations and removable
drive bays such as the IBM Ultrabay and the Dell Module Bay.
config [31mCONFIG_ACPI_CPU_FREQ_PSS[0m
bool
select [31mCONFIG_THERMAL[0m
config [31mCONFIG_ACPI_PROCESSOR_CSTATE[0m
def_bool y
depends on [31mCONFIG_IA64[0m || [31mCONFIG_X86[0m
config [31mCONFIG_ACPI_PROCESSOR_IDLE[0m
bool
select [31mCONFIG_CPU_IDLE[0m
config [31mCONFIG_ACPI_MCFG[0m
bool
config [31mCONFIG_ACPI_CPPC_LIB[0m
bool
depends on [31mCONFIG_ACPI_PROCESSOR[0m
select [31mCONFIG_MAILBOX[0m
select [31mCONFIG_PCC[0m
help
If this option is enabled, this file implements common functionality
to parse CPPC tables as described in the [31mCONFIG_ACPI[0m 5.1+ spec. The
routines implemented are meant to be used by other
drivers to control CPU performance using CPPC semantics.
If your platform does not support CPPC in firmware,
leave this option disabled.
config [31mCONFIG_ACPI_PROCESSOR[0m
tristate "Processor"
depends on [31mCONFIG_X86[0m || [31mCONFIG_IA64[0m || [31mCONFIG_ARM64[0m
select [31mCONFIG_ACPI_PROCESSOR_IDLE[0m
select [31mCONFIG_ACPI_CPU_FREQ_PSS[0m if [31mCONFIG_X86[0m || [31mCONFIG_IA64[0m
default y
help
This driver adds support for the [31mCONFIG_ACPI[0m Processor package. It is required
by several flavors of cpufreq performance-state, thermal, throttling and
idle drivers.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called processor.
config [31mCONFIG_ACPI_IPMI[0m
tristate "IPMI"
depends on [31mCONFIG_IPMI_SI[0m
default n
help
This driver enables the [31mCONFIG_ACPI[0m to access the BMC controller. And it
uses the IPMI request/response message to communicate with BMC
controller, which can be found on on the server.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called as acpi_ipmi.
config [31mCONFIG_ACPI_HOTPLUG_CPU[0m
bool
depends on [31mCONFIG_ACPI_PROCESSOR[0m && [31mCONFIG_HOTPLUG_CPU[0m
select [31mCONFIG_ACPI_CONTAINER[0m
default y
config [31mCONFIG_ACPI_PROCESSOR_AGGREGATOR[0m
tristate "Processor Aggregator"
depends on [31mCONFIG_ACPI_PROCESSOR[0m
depends on [31mCONFIG_X86[0m
help
[31mCONFIG_ACPI[0m 4.0 defines processor Aggregator, which enables OS to perform
specific processor configuration and control that applies to all
processors in the platform. Currently only logical processor idling
is defined, which is to reduce power consumption. This driver
supports the new device.
config [31mCONFIG_ACPI_THERMAL[0m
tristate "Thermal Zone"
depends on [31mCONFIG_ACPI_PROCESSOR[0m
select [31mCONFIG_THERMAL[0m
default y
help
This driver supports [31mCONFIG_ACPI[0m thermal zones. Most mobile and
some desktop systems support [31mCONFIG_ACPI[0m thermal zones. It is HIGHLY
recommended that this option be enabled, as your processor(s)
may be damaged without it.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called thermal.
config [31mCONFIG_ACPI_NUMA[0m
bool "NUMA support"
depends on [31mCONFIG_NUMA[0m
depends on ([31mCONFIG_X86[0m || [31mCONFIG_IA64[0m || [31mCONFIG_ARM64[0m)
default y if [31mCONFIG_IA64_GENERIC[0m || [31mCONFIG_IA64_SGI_SN2[0m || [31mCONFIG_ARM64[0m
config [31mCONFIG_ACPI_CUSTOM_DSDT_FILE[0m
string "Custom DSDT Table file to include"
default ""
depends on ![31mCONFIG_STANDALONE[0m
help
This option supports a custom DSDT by linking it into the kernel.
See Documentation/acpi/dsdt-override.txt
Enter the full path name to the file which includes the AmlCode
declaration.
If unsure, don't enter a file name.
config [31mCONFIG_ACPI_CUSTOM_DSDT[0m
bool
default [31mCONFIG_ACPI_CUSTOM_DSDT_FILE[0m != ""
config [31mCONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE[0m
def_bool n
config [31mCONFIG_ACPI_TABLE_UPGRADE[0m
bool "Allow upgrading ACPI tables via initrd"
depends on [31mCONFIG_BLK_DEV_INITRD[0m && [31mCONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE[0m
default y
help
This option provides functionality to upgrade arbitrary [31mCONFIG_ACPI[0m tables
via initrd. No functional change if no [31mCONFIG_ACPI[0m tables are passed via
initrd, therefore it's safe to say Y.
See Documentation/acpi/initrd_table_override.txt for details
config [31mCONFIG_ACPI_DEBUG[0m
bool "Debug Statements"
default n
help
The [31mCONFIG_ACPI[0m subsystem can produce debug output. Saying Y enables this
output and increases the kernel size by around 50K.
Use the acpi.debug_layer and acpi.debug_level kernel command-line
parameters documented in Documentation/acpi/debug.txt and
Documentation/admin-guide/kernel-parameters.rst to control the type and
amount of debug output.
config [31mCONFIG_ACPI_PCI_SLOT[0m
bool "PCI slot detection driver"
depends on [31mCONFIG_SYSFS[0m
default n
help
This driver creates entries in /sys/bus/pci/slots/ for all [31mCONFIG_PCI[0m
slots in the system. This can help correlate [31mCONFIG_PCI[0m bus addresses,
i.e., segment/bus/device/function tuples, with physical slots in
the system. If you are unsure, say N.
config [31mCONFIG_X86_PM_TIMER[0m
bool "Power Management Timer Support" if [31mCONFIG_EXPERT[0m
depends on [31mCONFIG_X86[0m
default y
help
The Power Management Timer is available on all [31mCONFIG_ACPI[0m-capable,
in most cases even if [31mCONFIG_ACPI[0m is unusable or blacklisted.
This timing source is not affected by power management features
like aggressive processor idling, throttling, frequency and/or
voltage scaling, unlike the commonly used Time Stamp Counter
(TSC) timing source.
You should nearly always say Y here because many modern
systems require this timer.
config [31mCONFIG_ACPI_CONTAINER[0m
bool "Container and Module Devices"
default ([31mCONFIG_ACPI_HOTPLUG_MEMORY[0m || [31mCONFIG_ACPI_HOTPLUG_CPU[0m)
help
This driver supports [31mCONFIG_ACPI[0m Container and Module devices (IDs
ACPI0004, PNP0A05, and PNP0A06).
This helps support hotplug of nodes, CPUs, and memory.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called container.
config [31mCONFIG_ACPI_HOTPLUG_MEMORY[0m
bool "Memory Hotplug"
depends on [31mCONFIG_MEMORY_HOTPLUG[0m
help
This driver supports [31mCONFIG_ACPI[0m memory hotplug. The driver
fields notifications on [31mCONFIG_ACPI[0m memory devices (PNP0C80),
which represent memory ranges that may be onlined or
offlined during runtime.
If your hardware and firmware do not support adding or
removing memory devices at runtime, you need not enable
this driver.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the module will be called acpi_memhotplug.
config [31mCONFIG_ACPI_HOTPLUG_IOAPIC[0m
bool
depends on [31mCONFIG_PCI[0m
depends on [31mCONFIG_X86_IO_APIC[0m
default y
config [31mCONFIG_ACPI_SBS[0m
tristate "Smart Battery System"
depends on [31mCONFIG_X86[0m
select [31mCONFIG_POWER_SUPPLY[0m
help
This driver supports the Smart Battery System, another
type of access to battery information, found on some laptops.
To compile this driver as a module, choose [31mCONFIG_M[0m here:
the modules will be called sbs and sbshc.
config [31mCONFIG_ACPI_HED[0m
tristate "Hardware Error Device"
help
This driver supports the Hardware Error Device (PNP0C33),
which is used to report some hardware errors notified via
SCI, mainly the corrected errors.
config [31mCONFIG_ACPI_CUSTOM_METHOD[0m
tristate "Allow ACPI methods to be inserted/replaced at run time"
depends on [31mCONFIG_DEBUG_FS[0m
default n
help
This debug facility allows [31mCONFIG_ACPI[0m AML methods to be inserted and/or
replaced without rebooting the system. For details refer to:
Documentation/acpi/method-customizing.txt.
NOTE: This option is security sensitive, because it allows arbitrary
kernel memory to be written to by root (uid=0) users, allowing them
to bypass certain security measures (e.g. if root is not allowed to
load additional kernel modules after boot, this feature may be used
to override that restriction).
config [31mCONFIG_ACPI_BGRT[0m
bool "Boottime Graphics Resource Table support"
depends on [31mCONFIG_EFI[0m && [31mCONFIG_X86[0m
help
This driver adds support for exposing the [31mCONFIG_ACPI[0m Boottime Graphics
Resource Table, which allows the operating system to obtain
data from the firmware boot splash. It will appear under
/sys/firmware/acpi/bgrt/ .
config [31mCONFIG_ACPI_REDUCED_HARDWARE_ONLY[0m
bool "Hardware-reduced ACPI support only" if [31mCONFIG_EXPERT[0m
def_bool n
help
This config item changes the way the [31mCONFIG_ACPI[0m code is built. When this
option is selected, the kernel will use a specialized version of
ACPICA that ONLY supports the [31mCONFIG_ACPI[0m "reduced hardware" mode. The
resulting kernel will be smaller but it will also be restricted to
running in [31mCONFIG_ACPI[0m reduced hardware mode ONLY.
If you are unsure what to do, do not enable this option.
source "drivers/acpi/nfit/Kconfig"
source "drivers/acpi/apei/Kconfig"
source "drivers/acpi/dptf/Kconfig"
config [31mCONFIG_ACPI_WATCHDOG[0m
bool
config [31mCONFIG_ACPI_EXTLOG[0m
tristate "Extended Error Log support"
depends on [31mCONFIG_X86_MCE[0m && [31mCONFIG_X86_LOCAL_APIC[0m
select [31mCONFIG_UEFI_CPER[0m
select [31mCONFIG_RAS[0m
default n
help
Certain usages such as Predictive Failure Analysis ([31mCONFIG_PFA[0m) require
more information about the error than what can be described in
processor machine check banks. Most server processors log
additional information about the error in processor uncore
registers. Since the addresses and layout of these registers vary
widely from one processor to another, system software cannot
readily make use of them. To complicate matters further, some of
the additional error information cannot be constructed without
detailed knowledge about platform topology.
Enhanced [31mCONFIG_MCA[0m Logging allows firmware to provide additional error
information to system software, synchronous with MCE or CMCI. This
driver adds support for that functionality with corresponding
tracepoint which carries that information to userspace.
menuconfig [31mCONFIG_PMIC_OPREGION[0m
bool "PMIC (Power Management Integrated Circuit) operation region support"
help
Select this option to enable support for [31mCONFIG_ACPI[0m operation
region of the PMIC chip. The operation region can be used
to control power rails and sensor reading/writing on the
PMIC chip.
if [31mCONFIG_PMIC_OPREGION[0m
config [31mCONFIG_CRC_PMIC_OPREGION[0m
bool "ACPI operation region support for CrystalCove PMIC"
depends on [31mCONFIG_INTEL_SOC_PMIC[0m
help
This config adds [31mCONFIG_ACPI[0m operation region support for CrystalCove PMIC.
config [31mCONFIG_XPOWER_PMIC_OPREGION[0m
bool "ACPI operation region support for XPower AXP288 PMIC"
depends on [31mCONFIG_AXP288_ADC[0m = y
help
This config adds [31mCONFIG_ACPI[0m operation region support for XPower AXP288 PMIC.
config [31mCONFIG_BXT_WC_PMIC_OPREGION[0m
bool "ACPI operation region support for BXT WhiskeyCove PMIC"
depends on [31mCONFIG_INTEL_SOC_PMIC[0m
help
This config adds [31mCONFIG_ACPI[0m operation region support for BXT WhiskeyCove PMIC.
endif
config [31mCONFIG_ACPI_CONFIGFS[0m
tristate "ACPI configfs support"
select [31mCONFIG_CONFIGFS_FS[0m
help
Select this option to enable support for [31mCONFIG_ACPI[0m configuration from
userspace. The configurable [31mCONFIG_ACPI[0m groups will be visible under
/config/acpi, assuming configfs is mounted under /config.
if [31mCONFIG_ARM64[0m
source "drivers/acpi/arm64/Kconfig"
endif
endif # [31mCONFIG_ACPI[0m