% linux_configuration_05_power_management_and_acpi_options.tex
% since Linux 6.19

\section{Power management and ACPI options \texorpdfstring{$\rightarrow$}{->}}
Energieverwaltung und ACPI-Optionen

%5.1
\subsection{Suspend to RAM and standby}
CONFIG\_SUSPEND [=y] \textbf{[Y]}\\
Ermöglicht dem System, in Ruhezustände einzutreten, in denen der Hauptspeicher mit Strom versorgt wird und somit sein Inhalt erhalten bleibt, wie z.\,B. der Suspend-to-RAM"=Zustand (z.\,B. der ACPI S3-Zustand).
\english{Allow the system to enter sleep states in which main memory is powered and thus its contents are preserved, such as the suspend-to-RAM state (e.g. the ACPI S3 state).}

\subsubsection{Skip kernel's sys\_sync() on suspend to RAM/standby}
CONFIG\_SUSPEND\_SKIP\_SYNC [=n] \textbf{[N]}\\
Überspringen Sie die Kernel-Funktion sys\_sync() vor dem Einfrieren von Benutzerprozessen.
Einige Systeme ziehen es vor, diese Kosten nicht bei jedem Aufruf von suspend zu zahlen, oder sie begnügen sich damit, \texttt{sync()} aus dem Benutzerbereich aufzurufen, bevor sie \texttt{suspend} aufrufen.
Es gibt einen Laufzeitschalter unter \texttt{/sys/power/sync\_on\_suspend}, um dieses Verhalten zu konfigurieren.
Diese Einstellung ändert die Standardeinstellung für den Laufzeitschalter.
Sagen Sie Y, um die Standardeinstellung zu ändern und den Kernel \texttt{sys\_sync()} zu deaktivieren.
\english{Skip the kernel sys\_sync() before freezing user processes.
Some systems prefer not to pay this cost on every invocation of suspend, or they are content with invoking sync() from user-space before invoking suspend.
There's a run-time switch at `/sys/power/sync\_on\_suspend' to configure this behaviour.
This setting changes the default for the run-tim switch.
Say Y to change the default to disable the kernel sys\_sync().}

%5.2
\subsection{Hibernation (aka `suspend to disk')}
CONFIG\_HIBERNATION [=y] \textbf{[Y]}\\
Aktiviert die Funktion \glqq Suspend to Disk\grqq{} (STD), die in den Benutzeroberflächen gewöhnlich als \glqq Ruhezustand\grqq{} bezeichnet wird.
STD setzt das System an einen Haltepunkt und schaltet es aus; beim Neustart wird dieser Haltepunkt wiederhergestellt.
Sie können Ihren Rechner mit \texttt{echo disk > /sys/power/state} in den Ruhezustand versetzen, nachdem Sie \texttt{resume=/dev/swappartition} in der Kernel-Befehlszeile in der Konfigurationsdatei Ihres Bootloaders angegeben haben.
Alternativ können Sie auch die zusätzlichen Userland-Tools verwenden, die unter \url{http://suspend.sf.net} verfügbar sind.
Im Prinzip sind weder ACPI noch APM erforderlich, obwohl beispielsweise ACPI für die letzten Schritte verwendet wird, wenn es verfügbar ist.
Einer der Gründe für die Verwendung von Software-Suspend ist, dass die Firmware-Hooks für Suspend-Zustände wie Suspend-to-RAM (STR) oft nicht sehr gut mit Linux funktionieren.
Es wird ein Abbild erstellt, das in der aktiven Auslagerungsdatei gespeichert wird.
Beim nächsten Start übergeben Sie dem Kernel das Argument \texttt{resume=/dev/swappartition}, damit er das gespeicherte Abbild erkennt, den Speicherstatus daraus wiederherstellt und wie zuvor weiterarbeitet.
Wenn Sie nicht wollen, dass der vorherige Zustand wiederhergestellt wird, verwenden Sie das Kernel-Befehlszeilenargument \texttt{noresume}.
Beachten Sie jedoch, dass fsck auf Ihren Dateisystemen ausgeführt wird und Sie mkswap auf der Swap-Partition ausführen müssen, die für den Suspend verwendet wird.
In begrenztem Umfang funktioniert es auch mit Swap-Dateien (für Details siehe $<$file:Documentation/power/swsusp-and-swap-files.rst$>$).
Sie können jetzt booten, ohne den Vorgang fortzusetzen, und ihn später fortsetzen, aber in der Zwischenzeit können Sie die Swap-Partition(en)/Datei(en), die am Suspendieren beteiligt waren, nicht verwenden.
In diesem Fall dürfen Sie auch nicht die Dateisysteme verwenden, die vor dem Suspendieren gemountet waren.
Insbesondere dürfen Sie keine journalisierten Dateisysteme mounten, die vor dem Suspending gemountet wurden, da diese sonst auf unschöne Weise beschädigt werden.
Weitere Informationen finden Sie in \texttt{file:Documentation/power/swsusp.rst}.
\english{Enable the suspend to disk (STD) functionality, which is usually called ``hibernation'' in user interfaces.
STD checkpoints the system and powers it off; and restores that checkpoint on reboot.\\
You can suspend your machine with `echo disk $>$ /sys/power/state' after placing resume=/dev/swappartition on the kernel command line in your bootloader's configuration file.\\
Alternatively, you can use the additional userland tools available from \url{http://suspend.sf.net}.\\
In principle it does not require ACPI or APM, although for example ACPI will be used for the final steps when it is available.
One of the reasons to use software suspend is that the firmware hooks for suspend states like suspend-to-RAM (STR) often don't work very well with Linux.\\
It creates an image which is saved in your active swap.
Upon the next boot, pass the `resume=/dev/swappartition' argument to the kernel to have it detect the saved image, restore memory state from it, and continue to run as before.
If you do not want the previous state to be reloaded, then use the `noresume' kernel command line argument.
Note, however, that fsck will be run on your filesystems and you will need to run mkswap against the swap partition used for the suspend.\\
It also works with swap files to a limited extent (for details see $<$file:Documentation/power/swsusp-and-swap-files.rst$>$).\\
Right now you may boot without resuming and resume later but in the meantime you cannot use the swap partition(s)/file(s) involved in suspending.
Also in this case you must not use the filesystems that were mounted before the suspend.
In particular, you MUST NOT MOUNT any journaled filesystems mounted before the suspend or they will get corrupted in a nasty way.\\
For more information take a look at $<$file:Documentation/power/swsusp.rst$>$}

\subsubsection{Userspace snapshot device}
CONFIG\_HIBERNATION\_SNAPSHOT\_DEV [=y] \textbf{[Y]}\\
Gerät, das von den uswsusp-Werkzeugen verwendet wird.
Sagen Sie N, wenn kein Snapshotting aus dem Userspace benötigt wird, dies reduziert auch die Angriffsfläche des Kernels.
Im Zweifelsfall sagen Sie Y.
\english{Device used by the uswsusp tools.\\
Say N if no snapshotting from userspace is needed, this also reduces the attack surface of the kernel.\\
If in doubt, say Y.}

\subsubsection{Default compressor () \texorpdfstring{$\rightarrow$}{->}}
\textit{Standard-Kompressor}

\paragraph{lzo} \mbox{}\\
CONFIG\_HIBERNATION\_COMP\_LZO [=y] \textbf{[Y]}\\*
Für diese Option gibt es keine Hilfe.
\english{There is no help available for this option.}

\paragraph{lz4} \mbox{}\\
CONFIG\_HIBERNATION\_COMP\_LZ4 [=n] \textbf{[N]}\\*
Für diese Option gibt es keine Hilfe.
\english{There is no help available for this option.}

\subsubsection{Default resume partition}
CONFIG\_PM\_STD\_PARTITION [=] \textbf{[~]}\\
Die Standard-Wiederaufnahmepartition ist die Partition, auf der die Suspend-to-Disk-Implementierung nach einem Suspend-Disk-Image suchen wird.
Die hier angegebene Partition wird für fast jeden Benutzer anders sein.
Es sollte eine gültige Swap-Partition sein (zumindest im Moment), die vor dem Suspendieren eingeschaltet wird.
Die angegebene Partition kann durch die Angabe von:\\
\texttt{resume=/dev/<anderes Gerät>}\\überschrieben werden, wodurch die Partition für die Wiederaufnahme auf das angegebene Gerät gesetzt wird.
Beachten Sie, dass es derzeit keine Möglichkeit gibt, das Gerät anzugeben, auf dem das suspendierte Image gespeichert werden soll.
Es wird einfach das erste verfügbare Swap-Gerät ausgewählt.
\english{The default resume partition is the partition that the suspend-to-disk implementation will look for a suspended disk image.\\
The partition specified here will be different for almost every user.
It should be a valid swap partition (at least for now) that is turned on before suspending.\\
The partition specified can be overridden by specifying:\\
resume=/dev/$<$other device$>$\\which will set the resume partition to the device specified.\\
Note there is currently not a way to specify which device to save the suspended image to.
It will simply pick the first available swap device.}

%5.3
\subsection{Opportunistic sleep}
CONFIG\_PM\_AUTOSLEEP [=n] \textbf{[N]}\\
Ermöglicht es dem Kernel, automatisch einen Systemübergang in einen globalen Ruhezustand auszulösen, wenn es keine aktiven Weckquellen gibt.
\english{Allow the kernel to trigger a system transition into a global sleep state automatically whenever there are no active wakeup sources.}

%5.4
\subsection{Userspace opportunistic sleep}
CONFIG\_PM\_USERSPACE\_AUTOSLEEP [=n] \textbf{[N]}\\
Benachrichtigt den Kernel über eine aggressive Benutzerraum-Energieverwaltungspolitik für den automatischen Schlaf.
Diese Option ändert das Verhalten verschiedener schlafempfindlicher Codes, um mit häufigen, vom Benutzer initiierten Übergängen in einen globalen Schlafzustand umzugehen.
Wenn Sie hier Y sagen, werden Codepfade deaktiviert, die die meisten Benutzer wirklich aktiviert lassen sollten.
Aktivieren Sie dies nur, wenn es sehr häufig vorkommt, dass man für sehr kurze Zeiträume ($<= 2$~Sekunden) schläft/wach ist.
Nur Plattformen, wie z.\,B. Android, die opportunistischen Ruhezustand von einem Userspace-Energieverwaltungsdienst implementieren, sollten diese Option aktivieren, nicht aber andere Maschinen.
Daher sollten Sie hier N sagen, es sei denn, Sie sind sich sehr sicher, dass Sie dies wollen.
Die Option hat andernfalls schlechte, unerwünschte Auswirkungen und sollte nicht nur zum Spaß aktiviert werden.
\english{Notify kernel of aggressive userspace autosleep power management policy.\\
This option changes the behavior of various sleep-sensitive code to deal with frequent userspace-initiated transitions into a global sleep state.\\
Saying Y here, disables code paths that most users really should keep enabled.
In particular, only enable this if it is very common to be asleep/awake for very short periods of time (<= 2 seconds).\\
Only platforms, such as Android, that implement opportunistic sleep from a userspace power manager service should enable this option; and not other machines.
Therefore, you should say N here, unless you are extremely certain that this is what you want.
The option otherwise has bad, undesirable effects, and should not be enabled just for fun.}

%5.5
\subsection{User space wakeup sources interface}
CONFIG\_PM\_WAKELOCKS [=n] \textbf{[N]}\\
Ermöglicht es dem Benutzer, Wakeup-Quellobjekte mit Hilfe einer sysfs-basierten Schnittstelle zu erstellen, zu aktivieren und zu deaktivieren.
\english{Allow user space to create, activate and deactivate wakeup source objects with the help of a sysfs-based interface.}

%5.6
\subsection{User space interface for CPU system wakeup QoS \tiny{seit 6.19}}
CONFIG\_PM\_QOS\_CPU\_SYSTEM\_WAKEUP [=n] \textbf{[N]}\\
Aktivieren Sie diese Option, um über die Datei \glqq cpu\_wakeup\_latency\grqq{} eine Begrenzung für die Latenzzeit beim Aufwachen des CPU-Systems festzulegen.

Dies kann insbesondere für Plattformen nützlich sein, die mehrere Energiesparzustände für CPUs während des systemweiten Ruhezustands und insbesondere \glqq s2idle\grqq{} unterstützen.
\english{Enable this to allow user space via the cpu\_wakeup\_latency file to specify a CPU system wakeup latency limit.\\
This may be particularly useful for platforms supporting multiple low power states for CPUs during system-wide suspend and s2idle in particular.}

%5.7
\subsection{Device power management core functionality}
CONFIG\_PM\_WAKELOCKS [=y] \textbf{[Y]}\\
Aktivierung von Funktionen, die es ermöglichen, E/A-Geräte in einen energiesparenden (stromsparenden) Zustand zu versetzen, z.\,B. nach einer bestimmten Zeit der Inaktivität (autosuspended), und sie als Reaktion auf ein von der Hardware erzeugtes Wake-up-Ereignis oder eine Anforderung des Treibers aufzuwecken.
Damit diese Funktion funktioniert, ist in der Regel eine Hardwareunterstützung erforderlich, und die Bustreiber der Busse, an denen die Geräte angeschlossen sind, sind für die tatsächliche Handhabung von Suspendierungsanforderungen und Weckereignissen zuständig.
\english{Enable functionality allowing I/O devices to be put into energy-saving (low power) states, for example after a specified period of inactivity (autosuspended), and woken up in response to a hardware-generated wake-up event or a driver's request.\\
Hardware support is generally required for this functionality to work and the bus type drivers of the buses the devices are on are responsible for the actual handling of device suspend requests and wake-up events.}

\subsubsection{Power Management Debug Support}
CONFIG\_PM\_DEBUG [=y] \textbf{[Y]}\\
Diese Option aktiviert verschiedene Debugging-Funktionen im Power-Management-Code.
Dies ist hilfreich bei der Fehlersuche und der Meldung von PM-Fehlern, wie z.\,B. der Suspend-Unterstützung.
\english{This option enables various debugging support in the Power Management code.
This is helpful when debugging and reporting PM bugs, like suspend support.}

\paragraph{Extra PM attributes in sysfs for low-level debugging/testing}$~$\\
CONFIG\_PM\_ADVANCED\_DEBUG [=n] \textbf{[N]}\\
Hinzufügen zusätzlicher sysfs-Attribute, die den Zugriff auf einige Power-Management-Felder von Geräteobjekten aus dem Userspace ermöglichen.
Wenn Sie kein Kernel-Entwickler sind, der am Debuggen/Testen von Power Management interessiert ist, sagen Sie N für nein.
\english{Add extra sysfs attributes allowing one to access some Power Management fields of device objects from user space.
If you are not a kernel developer interested in debugging/testing Power Management, say ``no''.}

\paragraph{Test suspend/resume and wakealarm during bootup}$~$\\
CONFIG\_PM\_TEST\_SUSPEND [=n] \textbf{[N]}\\
Mit dieser Option können Sie Ihren Rechner während des Bootvorgangs in den Ruhezustand versetzen und ihn einige Sekunden später mit einem RTC-Weckalarm aufwecken.
Aktivieren Sie dies mit einem Kernelparameter wie \texttt{test\_suspend=mem}.
Wahrscheinlich sollten Sie den RTC-Treiber Ihres Systems statisch einbinden, um sicherzustellen, dass er verfügbar ist, wenn dieser Test läuft.
\english{This option will let you suspend your machine during bootup, and make it wake up a few seconds later using an RTC wakeup alarm.
Enable this with a kernel parameter like ``test\_suspend=mem''.\\
You probably want to have your system's RTC driver statically linked, ensuring that it's available when this test runs.}

\paragraph{Device suspend/resume watchdog}$~$\\
CONFIG\_DPM\_WATCHDOG [=n] \textbf{[N]}\\
Richtet einen Watchdog-Timer ein, um Treiber zu erfassen, die beim Versuch, ein Gerät anzuhalten/fortzusetzen, blockiert sind.
Eine erkannte Blockierung löst eine Systempanik mit einer Meldung aus, die zur Überprüfung in der nachfolgenden Boot-Sitzung im pstore-Gerät erfasst wird.
\english{Sets up a watchdog timer to capture drivers that are locked up attempting to suspend/resume a device.
A detected lockup causes system panic with message captured in pstore device for inspection in subsequent boot session.}

%5.8
\subsection{Suspend/resume event tracing}
CONFIG\_PM\_TRACE\_RTC [=y] \textbf{[Y]}\\
Dies ermöglicht es, den letzten PM-Ereignispunkt in der RTC über Neustarts hinweg zu speichern, so dass Sie einen Rechner, der während des Suspendierens (oder häufiger während des Wiederaufnehmens) einfach hängen bleibt, debuggen können.
Um diese Debugging-Funktion zu nutzen, sollten Sie versuchen, den Rechner in den Suspend-Modus zu versetzen, ihn neu zu starten und dann Folgendes auszuführen\\[.5em]
\texttt{dmesg -s 1000000 | grep 'hash matches'}\\[.5em]
ACHTUNG: Diese Option führt dazu, dass die Echtzeituhr Ihres Rechners nach einem Neustart auf eine ungültige Zeit gesetzt wird.
\english{This enables some cheesy code to save the last PM event point in the RTC across reboots, so that you can debug a machine that just hangs during suspend (or more commonly, during resume).\\
To use this debugging feature you should attempt to suspend the machine, reboot it and then run\\
\indent dmesg -s 1000000 | grep 'hash matches'\\
CAUTION: this option will cause your machine's real-time clock to be set to an invalid time after a resume.}

%5.9
\subsection{Enable workqueue power-efficient mode by default}
CONFIG\_WQ\_POWER\_EFFICIENT\_DEFAULT [=y] \textbf{[Y]}\\
Pro-CPU-Workqueues werden im Allgemeinen bevorzugt, da sie dank der Cache-Lokalität eine bessere Leistung aufweisen; leider neigen Pro-CPU-Workqueues dazu, mehr Strom zu verbrauchen als ungebundene Workqueues.
Durch die Aktivierung des Kernelparameters \texttt{workqueue.power\_efficient} werden die Pro-CPU-Workqueues, die nachweislich erheblich zum Stromverbrauch beitragen, ungebunden, was zu einem messbar geringeren Stromverbrauch auf Kosten eines geringen Leistungsoverheads führt.
Diese Konfigurationsoption legt fest, ob \texttt{workqueue.power\_efficient} standardmäßig aktiviert ist.\\
Im Zweifelsfall sagen Sie N.
\english{Per-cpu workqueues are generally preferred because they show better performance thanks to cache locality;
unfortunately, per-cpu workqueues tend to be more power hungry than unbound workqueues.\\
Enabling workqueue.power\_efficient kernel parameter makes the per-cpu workqueues which were observed to contribute significantly to power consumption unbound, leading to measurably lower power usage at the cost of small performance overhead.\\
This config option determines whether workqueue.power\_efficient is enabled by default.\\
If in doubt, say N.}

%5.10
\subsection{Energy Model for devices with DVFS (CPUs, GPUs, etc)}
CONFIG\_ENERGY\_MODEL [=y] \textbf{[Y]}\\
Mehrere Teilsysteme (z.\,B. das thermische System und/oder der Aufgabenplaner) können Informationen über den Energieverbrauch von Geräten nutzen, um intelligentere Entscheidungen zu treffen.
Diese Konfigurationsoption aktiviert den Rahmen, von dem aus die Subsysteme auf die Energiemodelle zugreifen können.
Die genaue Verwendung des Energiemodells ist subsystemabhängig.\\
Im Zweifelsfall sagen Sie N.
\english{Several subsystems (thermal and/or the task scheduler for example) can leverage information about the energy consumed by devices to make smarter decisions.
This config option enables the framework from which subsystems can access the energy models.\\
The exact usage of the energy model is subsystem-dependent.\\
If in doubt, say N.}

%5.11
\subsection{ACPI (Advanced Configuration and Power Interface) Support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_ACPI [=y] \textbf{[Y]}\\
Die Unterstützung von ACPI (Advanced Configuration and Power Interface) für Linux erfordert eine ACPI-kompatible Plattform (Hardware/Firmware) und setzt das Vorhandensein von OS-directed configuration and power management (OSPM) Software voraus.
Mit dieser Option wird Ihr Kernel um etwa \qty{70}{\kilo\byte} erweitert.
Linux ACPI bietet einen robusten funktionalen Ersatz für mehrere ältere Konfigurations- und Energieverwaltungsschnittstellen, einschließlich der Plug-and-Play-BIOS-Spezifikation (PnP BIOS), der MultiProzessor-Spezifikation (MPS) und der Advanced Power Management (APM)-Spezifikation.
Wenn sowohl ACPI- als auch APM-Unterstützung konfiguriert sind, wird ACPI verwendet.
Die Linux-Unterstützung für ACPI basiert auf der ACPI Component Architecture (ACPI CA) der Intel Corporation.
Weitere Informationen über die ACPI~CA finden Sie unter: \url{https://acpica.org/} ACPI ist eine offene Industriespezifikation, die ursprünglich von Hewlett-Packard, Intel, Microsoft, Phoenix und Toshiba mitentwickelt wurde.
Derzeit wird sie von der ACPI Specification Working Group (ASWG) im Rahmen des UEFI-Forums entwickelt, und jedes UEFI-Mitglied kann der ASWG beitreten und zur ACPI-Spezifikation beitragen.\\
Die Spezifikation ist verfügbar unter: \url{https://uefi.org/specifications}.
\english{Advanced Configuration and Power Interface (ACPI) support for Linux requires an ACPI-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 ACPI 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 (APM) specification.
If both ACPI and APM support are configured, ACPI is used.\\
Linux support for ACPI is based on Intel Corporation's ACPI Component Architecture (ACPI CA).
For more information on the ACPI CA, see: \url{https://acpica.org/} ACPI is an open industry specification originally co-developed by Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba.
Currently, it is developed by the ACPI Specification Working Group (ASWG) under the UEFI Forum and any UEFI member can join the ASWG and contribute to the ACPI specification.
The specification is available at: \url{https://uefi.org/specifications}}

\subsubsection{AML debugger interface}
CONFIG\_ACPI\_DEBUGGER [=n] \textbf{[N]}\\
Aktiviert das In-Kernel-Debugging von AML-Funktionen: Statistiken, interner Objekt-Dump, Ausführung von Einzelschritt"=Kontrollmethoden.
Dies befindet sich noch in der Entwicklung, derzeit führt die Aktivierung nur zur Kompilierung der ACPICA-Debugger-Dateien.
\english{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.}

\subsubsection{ACPI Serial Port Console Redirection Support}
CONFIG\_ACPI\_SPCR\_TABLE [=y] \textbf{[Y]}\\
Aktiviert die Unterstützung für die Serial Port Console Redirection (SPCR) Tabelle.
Diese Tabelle enthält Informationen über die Konfiguration der earlycon-Konsole.
\english{Enable support for Serial Port Console Redirection (SPCR) Table.
This table provides information about the configuration of the earlycon console.}

\subsubsection{ACPI Firmware Performance Data Table (FPDT] support}
CONFIG\_ACPI\_FPDT [=y] \textbf{[Y]}\\
Aktiviert die Unterstützung für die Firmware Performance Data Table (FPDT).
Diese Tabelle enthält Informationen über das Timing des Systemstarts, der S3-Suspend- und S3-Resume-Firmware-Codepfade.
\english{Enable support for the Firmware Performance Data Table (FPDT).
This table provides information on the timing of the system boot, S3 suspend and S3 resume firmware code paths.}

\subsubsection{Allow supported ACPI revision to be overridden}
CONFIG\_ACPI\_FPDT [=y] \textbf{[Y]}\\
(Erlaubt das Überschreiben der unterstützten ACPI-Revision)\\
Die Plattform-Firmware auf einigen Systemen erwartet, dass Linux \glqq 5\grqq{} als unterstützte ACPI-Revision zurückgibt, was dazu führt, dass sie Systemkonfigurationsinformationen auf eine besondere Weise offenlegt.
Basierend darauf, was ACPI als unterstützte Revision exportiert, konfiguriert beispielsweise das Dell~XPS~13 (2015) sein Audiogerät so, dass es entweder im HDA-Modus oder im I2S-Modus arbeitet, wobei ersterer unter Linux verwendet werden soll, bis letzterer vollständig unterstützt wird (sowohl im Kernel als auch im Userspace).
Diese Option ermöglicht eine DMI-basierte Besonderheit für den oben genannten Dell-Rechner (so dass HDA-Audio von der Plattform-Firmware dem Kernel offengelegt wird) und macht es möglich, den Kernel zu zwingen, \glqq 5\grqq{} als unterstützte ACPI-Revision über den Befehlszeilenschalter \texttt{acpi\_rev\_override} zurückzugeben.
\english{The platform firmware on some systems expects Linux to return ``5'' as the supported ACPI revision which makes it expose system configuration information in a special way.\\
For example, based on what ACPI exports as the supported revision, Dell XPS 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 DMI-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 ACPI revision via the ``acpi\_rev\_override'' command line switch.}

\subsubsection{Embedded Controller \tiny{seit 6.13}}
CONFIG\_ACPI\_EC [=y] \textbf{[Y]}\\*
Dieser Treiber übernimmt die Kommunikation mit dem Mikrocontroller auf vielen x86/LoongArch-Laptops und anderen Geräten.
\english{This driver handles communication with the microcontroller on many x86/LoongArch laptops and other machines.}


\paragraph{EC read/write access through /sys/kernel/debug/ec}\mbox{}\\
CONFIG\_ACPI\_EC\_DEBUGFS [=m] \textbf{[M]}\\*
Sagen Sie N, um die Schnittstelle Embedded Controller /sys/kernel/debug zu deaktivieren.
Beachten Sie, dass die Verwendung dieser Schnittstelle Ihren Embedded Controller so verwirren kann, dass ein normaler Neustart nicht ausreicht.
Sie müssen dann Ihr System ausschalten und den Akku des Laptops für einige Sekunden entfernen.
Ein Embedded Controller ist in der Regel auf Laptops vorhanden und liest Sensorwerte wie Batteriestatus und Temperatur aus.
Der Kernel greift auf den EC über ACPI-geparsten Code zu, der von BIOS-Tabellen bereitgestellt wird.
Diese Option ermöglicht den direkten Zugriff auf den EC, ohne dass ACPI-Code involviert ist.\\
Somit ist diese Option eine Debug-Option, die beim Schreiben von ACPI-Treibern hilft und zur Identifizierung von ACPI-Code oder EC-Firmware-Fehlern verwendet werden kann.
\english{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 ACPI parsed code provided by BIOS tables.
This option allows to access the EC directly without ACPI code being involved.
Thus this option is a debug option that helps to write ACPI drivers and can be used to identify ACPI code or EC firmware bugs.}

\subsubsection{AC Adapter}
CONFIG\_ACPI\_AC [=y] \textbf{[Y]}\\
Dieser Treiber unterstützt das AC-Adapter-Objekt, das anzeigt, ob ein System mit Wechselstrom betrieben wird oder nicht.
Wenn Sie ein System haben, das zwischen Wechselstrom und Batterie umschalten kann, sagen Sie Y.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{ac} heißen.
\english{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 A/C and battery, say Y.\\
To compile this driver as a module, choose M here: the module will be called \texttt{ac}.}

\subsubsection{Battery}
CONFIG\_ACPI\_BATTERY [=y] \textbf{[Y]}\\
Dieser Treiber bietet Unterstützung für Batterieinformationen über \texttt{/proc/acpi/battery}.
Wenn Sie ein mobiles System mit einer Batterie haben, sagen Sie Y.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{battery} genannt.
\english{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 M here: the module will be called \texttt{battery}.}

\subsubsection{Button}
CONFIG\_ACPI\_BUTTON [=y] \textbf{[Y]}\\
Dieser Treiber verarbeitet Ereignisse für die Tasten Power, Sleep und Deckel.
Ein Daemon liest Ereignisse von Eingabegeräten oder über Netlink und führt benutzerdefinierte Aktionen wie das Herunterfahren des Systems aus.
Dies ist für die softwaregesteuerte Abschaltung erforderlich.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{button} genannt.
\english{This driver handles events on the power, sleep, and lid buttons.
A 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 M here: the module will be called \texttt{button}.}

\subsubsection{Video}
CONFIG\_ACPI\_VIDEO [=m] \textbf{[M]}\\
Dieser Treiber implementiert die ACPI-Erweiterungen für Display-Adapter für integrierte Grafikgeräte auf dem Motherboard, wie in der Spezifikation ACPI 2.0, Anhang B, angegeben.
Er unterstützt grundlegende Vorgänge wie das Definieren des Video-POST-Geräts, das Abrufen von EDID-Informationen und das Einrichten eines Videoausgangs.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{video} genannt.
\english{This driver implements the ACPI Extensions For Display Adapters for integrated graphics devices on motherboard, as specified in ACPI 2.0 Specification, Appendix B.
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 M here: the module will be called \texttt{video}.}

\subsubsection{Fan}
CONFIG\_ACPI\_FAN [=y] \textbf{[Y]}\\
Dieser Treiber unterstützt ACPI-Lüftergeräte und ermöglicht es Anwendungen im Benutzermodus, grundlegende Lüftersteuerungen (Ein, Aus, Status) durchzuführen.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{fan} genannt.
\english{This driver supports ACPI fan devices, allowing user-mode applications to perform basic fan control (on, off, status).\\
To compile this driver as a module, choose M here: the module will be called \texttt{fan}.}

\subsubsection{ACPI Time and Alarm (TAD) Device Support}
CONFIG\_ACPI\_TAD [=m] \textbf{[N]}\\
Das ACPI Time and Alarm (TAD) Gerät ist eine Alternative zur Real Time Clock (RTC).
Seine Weckzeitgeber ermöglichen es dem System, nach Ablauf einer bestimmten Zeitspanne vom Zustand S3 (oder optional S4/S5) in den Zustand S0 überzugehen.
Im Vergleich zum RTC-Alarm bietet der TAD eine größere Flexibilität bei den Wake-Timern.
Die Zeitfunktionen des TAD behalten die Tageszeitinformationen bei, auch wenn die Plattform ausgeschaltet ist.
\english{The ACPI Time and Alarm (TAD) device is an alternative to the Real Time Clock (RTC).
Its wake timers allow the system to transition from the S3 (or optionally S4/S5) state to S0 state after a time period elapses.
In comparison with the RTC Alarm, the TAD provides a larger scale of flexibility in the wake timers.
The time capabilities of the TAD maintain the time of day information across platform power transitions, and keep track of time even when the platform is turned off.}

\subsubsection{Dock}
CONFIG\_ACPI\_DOCK [=y] \textbf{[Y]}\\
Dieser Treiber unterstützt ACPI-gesteuerte Dockingstationen und Wechsellaufwerkseinschübe wie den IBM Ultrabay und den Dell Module Bay.
\english{This driver supports ACPI-controlled docking stations and removable drive bays such as the IBM Ultrabay and the Dell Module Bay.}

\subsubsection{Processor}
CONFIG\_ACPI\_PROCESSOR [=y] \textbf{[Y]}\\
Dieser Treiber bietet Unterstützung für das ACPI-Prozessor-Paket.
Er wird von mehreren Varianten der cpufreq-Treiber für den Leistungszustand, die Wärmeentwicklung, die Drosselung und den Leerlauf benötigt.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul heißt dann \texttt{processor}.
\english{This driver adds support for the ACPI 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 M here: the module will be called \texttt{processor}.}

\subsubsection{IPMI}
CONFIG\_ACPI\_IPMI [=m] \textbf{[M]}\\
Dieser Treiber ermöglicht dem ACPI den Zugriff auf den BMC-Controller. Und er verwendet die IPMI-Anfrage/Antwort-Nachricht zur Kommunikation mit dem BMC-Controller, der sich auf dem Server befindet.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird als \texttt{acpi\_ipmi} aufgerufen.
\english{This driver enables the ACPI to access the BMC controller.
And it uses the IPMI request/response message to communicate with BMC controller, which can be found on the server.\\
To compile this driver as a module, choose M here: the module will be called as \texttt{acpi\_ipmi}.}

\subsubsection{Processor Aggregator}
CONFIG\_ACPI\_PROCESSOR\_AGGREGATOR [=m] \textbf{[M]}\\
ACPI~4.0 definiert einen Prozessor-Aggregator, der es dem Betriebssystem ermöglicht, eine spezifische Prozessorkonfiguration und -steuerung durchzuführen, die für alle Prozessoren der Plattform gilt.
Derzeit ist nur der logische Leerlauf des Prozessors definiert, der den Stromverbrauch senken soll.
Dieser Treiber unterstützt das neue Gerät.
\english{ACPI 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.}

\subsubsection{Thermal Zone}
CONFIG\_ACPI\_THERMAL [=y] \textbf{[Y]}\\
Dieser Treiber unterstützt ACPI-Thermozonen.
Die meisten mobilen und einige Desktop-Systeme unterstützen ACPI-Wärmezonen.
Es wird DRINGEND empfohlen, diese Option zu aktivieren, da Ihr(e) Prozessor(en) sonst beschädigt werden können.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{thermal} genannt.
\english{This driver supports ACPI thermal zones.
Most mobile and some desktop systems support ACPI 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 M here: the module will be called \texttt{thermal}.}

\subsubsection{Allow upgrading ACPI tables via initrd}
CONFIG\_ACPI\_TABLE\_UPGRADE [=y] \textbf{[Y]}\\
Diese Option bietet die Möglichkeit, beliebige ACPI-Tabellen über initrd zu aktualisieren.
Keine funktionale Änderung, wenn keine ACPI-Tabellen über initrd übergeben werden, daher ist es sicher, Y zu sagen.
Siehe Documentation/admin-guide/acpi/initrd\_table\_override.rst für Details.
\english{This option provides functionality to upgrade arbitrary ACPI tables via initrd.
No functional change if no ACPI tables are passed via initrd, therefore it's safe to say Y.
See Documentation/admin-guide/acpi/initrd\_table\_override.rst for details}

\subsubsection{Debug Statements}
CONFIG\_ACPI\_DEBUG [=y] \textbf{[Y]}\\
Das ACPI-Subsystem kann Debug-Ausgaben erzeugen.
Die Angabe von Y aktiviert diese Ausgabe und erhöht die Kernelgröße um etwa \qty{50}{\kilo\byte}.\\
Verwenden Sie die Kernel"=Befehlszeilenparameter \texttt{acpi.debug\_layer} und \texttt{acpi.debug\_level}, die in Documentation/firmware-guide/acpi/debug.rst und Documentation/admin-guide/kernel-parameters.rst dokumentiert sind, um die Art und Menge der Debug-Ausgabe zu steuern.
\english{The ACPI 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/firmware-guide/acpi/debug.rst and Documentation/admin-guide/kernel-parameters.rst to control the type and amount of debug output.}

\subsubsection{PCI slot detection driver}
CONFIG\_ACPI\_PCI\_SLOT [=y] \textbf{[Y]}\\
Dieser Treiber erstellt Einträge in \texttt{/sys/bus/pci/slots/} für alle PCI-Steckplätze im System.
Dies kann helfen, PCI-Bus-Adressen, d.\,h. Segment/Bus/Gerät/Funktions-Tupel, mit physischen Steckplätzen im System zu korrelieren.\\
Wenn Sie unsicher sind, sagen Sie N.
\english{This driver creates entries in /sys/bus/pci/slots/ for all PCI slots in the system.
This can help correlate PCI bus addresses, i.e., segment/bus/device/function tuples, with physical slots in the system.
If you are unsure, say N.}

\subsubsection{Container and Module Devices}
CONFIG\_ACPI\_CONTAINER [=y] \textbf{[Y]}\\
Dieser Treiber unterstützt ACPI-Container- und Modulgeräte (IDs ACPI0004, PNP0A05 und PNP0A06).
Dies hilft, Hotplug von Knoten, CPUs und Speicher zu unterstützen.
\english{This driver supports ACPI Container and Module devices (IDs ACPI0004, PNP0A05, and PNP0A06).\\
This helps support hotplug of nodes, CPUs, and memory.}

\subsubsection{Memory Hotplug}
CONFIG\_ACPI\_HOTPLUG\_MEMORY [=y] \textbf{[Y]}\\
Dieser Treiber unterstützt ACPI-Speicher-Hotplug.
Die Treiberfelder enthalten Benachrichtigungen über ACPI"=Speichergeräte (PNP0C80), die Speicherbereiche darstellen, die zur Laufzeit ein- oder ausgeschaltet werden können.
Wenn Ihre Hardware und Firmware das Hinzufügen oder Entfernen von Speichergeräten zur Laufzeit nicht unterstützen, müssen Sie diesen Treiber nicht aktivieren.
\english{This driver supports ACPI memory hotplug.
The driver fields notifications on ACPI 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.}

\subsubsection{Smart Battery System}
CONFIG\_ACPI\_SBS [=m] \textbf{[M]}\\
Dieser Treiber unterstützt das Smart Battery System, eine andere Art des Zugriffs auf Batterieinformationen, die bei einigen Laptops zu finden ist.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Die Module heißen dann \texttt{sbs} und \texttt{sbshc}.
\english{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 M here: the modules will be called \texttt{sbs} and \texttt{sbshc}.}

\subsubsection{Hardware Error Device}
CONFIG\_ACPI\_HED [=y] \textbf{[Y]}\\
Dieser Treiber unterstützt das Hardware Error Device (PNP0C33), das dazu dient, einige über SCI gemeldete Hardwarefehler zu melden, hauptsächlich die korrigierten Fehler.
\english{This driver supports the Hardware Error Device (PNP0C33), which is used to report some hardware errors notified via SCI, mainly the corrected errors.}

{\color{gray}\subsubsection*{Allow ACPI methods to be inserted/replaced at run time \tiny{bis 6.8}}
CONFIG\_ACPI\_CUSTOM\_METHOD [=m] \textbf{[M]}\\
Mit dieser Debug-Funktion können ACPI-AML-Methoden eingefügt und/oder ersetzt werden, ohne dass das System neu gestartet werden muss.\\
Für Details siehe: Documentation/firmware-guide/acpi/method-customizing.rst.\\
HINWEIS: Diese Option ist sicherheitsrelevant, da sie es erlaubt, dass root (uid=0) Benutzer in beliebigen Kernelspeicher schreiben können und so bestimmte Sicherheitsmaßnahmen umgehen können (z.\,B. wenn es root nicht erlaubt ist, zusätzliche Kernelmodule nach dem Booten zu laden, kann diese Funktion verwendet werden, um diese Einschränkung zu umgehen).
\english{This debug facility allows ACPI AML methods to be inserted and/or replaced without rebooting the system.
For details refer to: Documentation/firmware-guide/acpi/method-customizing.rst.
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).}}

\subsubsection{Boottime Graphics Resource Table support}
CONFIG\_ACPI\_BGRT [=y] \textbf{[Y]}\\
Dieser Treiber bietet Unterstützung für die ACPI Boottime Graphics Resource Table, die es dem Betriebssystem ermöglicht, Daten aus dem Firmware-Boot-Splash zu beziehen.\\
Er erscheint unter \texttt{/sys/firmware/acpi/bgrt/}.
\english{This driver adds support for exposing the ACPI 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/ .}

\subsubsection{Hardware-reduced ACPI support only}
CONFIG\_ACPI\_REDUCED\_HARDWARE\_ONLY [=n] \textbf{[N]}\\
Dieser Konfigurationspunkt ändert die Art und Weise, wie der ACPI-Code erstellt wird.
Wenn diese Option ausgewählt ist, verwendet der Kernel eine spezielle Version von ACPICA, die NUR den ACPI-Modus „reduzierte Hardware” unterstützt.
Der resultierende Kernel ist kleiner, kann jedoch NUR im ACPI-Modus „reduzierte Hardware” ausgeführt werden.
Wenn Sie sich nicht sicher sind, was Sie tun sollen, aktivieren Sie diese Option nicht.
\english{This config item changes the way the ACPI code is built.
When this option is selected, the kernel will use a specialized version of ACPICA that ONLY supports the ACPI ``reduced hardware'' mode.
The resulting kernel will be smaller but it will also be restricted to running in ACPI reduced hardware mode ONLY.
If you are unsure what to do, do not enable this option.}

\subsubsection{ACPI NVDIMM Firmware Interface Table (NFIT)}
CONFIG\_ACPI\_NFIT [=m] \textbf{[M]}\\
Infrastruktur, um ACPI~6-konforme Plattformen auf NVDIMMs zu untersuchen (NFIT) und einen libnvdimm-Gerätebaum zu registrieren.
Zusätzlich zu den Speichergeräten ermöglicht dies libnvdimm auch die Weitergabe von ACPI.\_DSM-Nachrichten für die Plattform/Dimm-Konfiguration.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{nfit} genannt.
\english{Infrastructure to probe ACPI 6 compliant platforms for NVDIMMs (NFIT) and register a libnvdimm device tree.
In addition to storage devices this also enables libnvdimm to pass ACPI.\_DSM messages for platform/dimm configuration.\\
To compile this driver as a module, choose M here: the module will be called \texttt{nfit}.}

\paragraph{Enable debug for NVDIMM security commands}$~$\\
CONFIG\_NFIT\_SECURITY\_DEBUG [=n] \textbf{[N]}\\
Einige NVDIMM-Geräte und -Controller unterstützen Verschlüsselung und andere Sicherheitsfunktionen.
Die Nutzdaten für die Befehle, die diese Funktionen aktivieren, können sensibles Sicherheitsmaterial im Klartext enthalten.
Deaktivieren Sie das Debuggen dieser Befehls-Payloads standardmäßig.
Wenn Sie ein Kernel-Entwickler sind, der aktiv an der Aktivierung der NVDIMM-Sicherheit arbeitet, sagen Sie Y, andernfalls sagen Sie N.
\english{Some NVDIMM devices and controllers support encryption and other security features.
The payloads for the commands that enable those features may contain sensitive clear-text security material.
Disable debug of those command payloads by default.
If you are a kernel developer actively working on NVDIMM security enabling say Y, otherwise say N.}

{\color{gray}
\subsubsection*{NUMA support \tiny{bis 6.10}}
CONFIG\_ACPI\_NUMA [=y] \textbf{[Y]}\\
\textit{Für diese Option ist keine Hilfe verfügbar.}}

\subsubsection{ACPI Heterogeneous Memory Attribute Table Support}
CONFIG\_ACPI\_HMAT [=y] \textbf{[Y]}\\
Wenn diese Option gesetzt ist, lässt der Kernel die ACPI HMAT (Heterogeneous Memory Attributes Table) der Plattform auslesen und melden, Speicherinitiatoren mit ihren Zielen registrieren und Leistungsattribute über das sysfs-Gerät des Knotens exportieren, falls vorhanden.
\english{If set, this option has the kernel parse and report the platform's ACPI HMAT (Heterogeneous Memory Attributes Table), register memory initiators with their targets, and export performance attributes through the node's sysfs device if provided.}

\subsubsection{ACPI Platform Error Interface (APEI)}
CONFIG\_ACPI\_APEI [=y] \textbf{[Y]}\\
APEI ermöglicht es, Fehler (z.\,B. vom Chipsatz) an das Betriebssystem zu melden.
Dies verbessert insbesondere die NMI-Behandlung.
Darüber hinaus unterstützt es Fehlerserialisierung und Fehlerinjektion.
\english{APEI allows to report errors (for example from the chipset) to the operating system.
This improves NMI handling especially.
In addition it supports error serialization and error injection.}

\paragraph{ACPI Generic Hardware Error Source}$~$\\
CONFIG\_ACPI\_APEI\_GHES [=y] \textbf{[Y]}\\
Generic Hardware Error Source bietet eine Möglichkeit, Plattform-Hardware-Fehler (z.\,B. vom Chipsatz) zu melden.
Sie arbeitet im so genannten \glqq Firmware First\grqq{}-Modus, d.\,h. Hardwarefehler werden zunächst an die
Firmware gemeldet und dann von der Firmware an Linux weitergeleitet.
Auf diese Weise können einige Nicht-Standard-Hardware-Fehlerregister oder Nicht-Standard-Hardware-Verbindungen
von der Firmware überprüft werden, um wertvollere Hardware-Fehlerinformationen für Linux zu erhalten.
\english{Generic Hardware Error Source provides a way to report platform hardware errors (such as that from chipset).
It works in so called ``Firmware First'' mode, that is, hardware errors are reported to firmware firstly, then reported to Linux by firmware.
This way, some non-standard hardware error registers or non-standard hardware link can be checked by firmware to produce more valuable hardware error information for Linux.}

\paragraph{ACPI PCIe AER logging/recovering support}$~$\\
CONFIG\_ACPI\_APEI\_PCIEAER [=y] \textbf{[Y]}\\
PCIe-AER-Fehler können über den APEI-Firmware-First-Modus gemeldet werden.
Aktivieren Sie diese Option, um die entsprechende Unterstützung zu aktivieren.
\english{PCIe AER errors may be reported via APEI firmware first mode.
Turn on this option to enable the corresponding support.}

\subsubsection{ACPI memory error recovering support}
CONFIG\_ACPI\_APEI\_MEMORY\_FAILURE [=y] \textbf{[Y]}\\
Speicherfehler können über den APEI-Firmware-First-Modus gemeldet werden.
Aktivieren Sie diese Option, um die Unterstützung für die Speicherwiederherstellung zu aktivieren.
\english{Memory errors may be reported via APEI firmware first mode.
Turn on this option to enable the memory recovering support.}

\subsubsection{APEI Error INJection (EINJ)}
CONFIG\_ACPI\_APEI\_EINJ [=m] \textbf{[M]}\\*
EINJ bietet einen Hardware-Fehlerinjektionsmechanismus, der hauptsächlich zur Fehlersuche und zum Testen der anderen Teile von APEI und einiger anderer RAS-Funktionen verwendet wird.
\english{EINJ provides a hardware error injection mechanism, it is mainly used for debugging and testing the other parts of APEI and some other RAS features.}

\paragraph{CXL Error INJection Support \tiny{seit 6.9}}\mbox{}\\
CONFIG\_ACPI\_APEI\_EINJ\_CXL [=y] \textbf{[Y]}\\*
Unterstützung für CXL-Protokoll-Fehlerinjektion durch debugfs/cxl.
Die Verfügbarkeit und welche Fehler unterstützt werden, hängt von der Host-Plattform ab.
Weitere Informationen finden Sie in ACPI v6.5 Abschnitt 18.6.4 und in der EINJ-Dokumentation des Kernels.
Wenn Sie unsicher sind, sagen Sie N.
\english{Support for CXL protocol Error INJection through debugfs/cxl.
Availability and which errors are supported is dependent on the host platform.
Look to ACPI v6.5 section 18.6.4 and kernel EINJ documentation for more information.\\
If unsure say `n'}

\subsubsection{APEI Error Record Serialization Table (ERST) Debug Support}
CONFIG\_ACPI\_APEI\_ERST\_DEBUG [=m] \textbf{[M]}\\
ERST ist eine von APEI bereitgestellte Möglichkeit, Hardware"=Fehlerinformationen in einem dauerhaften Speicher zu speichern und von dort abzurufen.
Aktivieren Sie dies, wenn Sie die ERST"=Kernelunterstützung und Firmware-Implementierung debuggen und testen wollen.
\english{ERST is a way provided by APEI to save and retrieve hardware error information to and from a persistent store.
Enable this if you want to debugging and testing the ERST kernel support and firmware implementation.}

\subsubsection{Intel DPTF (Dymnamic Platform and Thermal Framework) Support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_ACPI\_DPTF [=y] \textbf{[Y]}\\
Intel Dynamic Platform and Thermal Framework (DPTF) ist eine Hardware-/Softwarelösung auf Plattformebene für das Energie- und Wärmemanagement.
Als Container für mehrere Energie-/Thermotechnologien bietet DPTF einen koordinierten Ansatz für verschiedene Richtlinien, die den Hardwarezustand eines Systems beeinflussen.
\english{Intel Dynamic Platform and Thermal Framework (DPTF) is a platform level hardware/software solution for power and thermal management.\\
As a container for multiple power/thermal technologies, DPTF provides a coordinated approach for different policies to effect the hardware state of a system.}

\paragraph{Platform Power DPTF Participant}$~$\\
CONFIG\_DPTF\_POWER [=m] \textbf{[M]}\\
Dieser Treiber bietet Unterstützung für das Dynamic Platform and Thermal Framework (DPTF) Platform Power Participant Device (INT3407).
Dieser Teilnehmer ist für die Offenlegung der Plattformtelemetrie verantwortlich:
\begin{itemize}
	\item max\_platform\_power (max. Plattformleistung)
	\item platform\_power\_source (Plattformstromquelle)
	\item adapter\_rating (Leistung des Netzteils)
	\item battery\_steady\_power (Dauerleistung der Batterie)
	\item ladegerät\_typ (Ladegerättyp)
\end{itemize}
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul heißt dann \texttt{dptf\_power}.
\english{This driver adds support for Dynamic Platform and Thermal Framework (DPTF) Platform Power Participant device (INT3407) support.
This participant is responsible for exposing platform telemetry: \texttt{max\_platform\_power platform\_power\_source adapter\_rating battery\_steady\_power charger\_type}\\
To compile this driver as a module, choose M here: the module will be called \texttt{dptf\_power}.}

\paragraph{PCH FIVR DPTF Participant}$~$\\
CONFIG\_DPTF\_PCH\_FIVR [=m] \textbf{[M]}\\
Dieser Treiber fügt Unterstützung für Dynamic Platform and Thermal Framework (DPTF) PCH FIVR Participant Device Support hinzu.
Dieser Treiber ermöglicht es, die Frequenz des PCH FIVR (Fully Integrated Voltage Regulator) zu schalten.
Dieser Teilnehmer ist für die Bereitstellung verantwortlich:
\begin{itemize}
	\item freq\_mhz\_low\_clock
	\item freq\_mhz\_high\_clock
\end{itemize}
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{dptf\_pch\_fivr} heißen.
\english{This driver adds support for Dynamic Platform and Thermal Framework (DPTF) PCH FIVR Participant device support.
This driver allows to switch the PCH FIVR (Fully Integrated Voltage Regulator) frequency.
This participant is responsible for exposing: \texttt{freq\_mhz\_low\_clock freq\_mhz\_high\_clock}\\
To compile this driver as a module, choose M here: the module will be called \texttt{dptf\_pch\_fivr.}}

\subsubsection{Extended Error Log support}
CONFIG\_ACPI\_EXTLOG [=m] \textbf{[M]}\\
Bestimmte Anwendungen wie die vorausschauende Fehleranalyse (Predictive Failure Analysis, PFA) erfordern mehr Informationen über den Fehler, als in den Prüfbänken der Prozessormaschine beschrieben werden können.
Die meisten Server-Prozessoren protokollieren zusätzliche Informationen über den Fehler in Prozessor-Uncore-Registern.
Da die Adressen und das Layout dieser Register von einem Prozessor zum anderen sehr unterschiedlich sind, kann die Systemsoftware sie nicht ohne weiteres nutzen.
Erschwerend kommt hinzu, dass einige der zusätzlichen Fehlerinformationen nicht ohne detaillierte Kenntnisse der Plattformtopologie erstellt werden können.
Die erweiterte MCA-Protokollierung ermöglicht es der Firmware, der Systemsoftware synchron mit MCE oder CMCI zusätzliche Fehlerinformationen zu liefern.
Dieser Treiber unterstützt diese Funktionalität mit einem entsprechenden Tracepoint, der diese Informationen an den Userspace weiterleitet.
\english{Certain usages such as Predictive Failure Analysis (PFA) 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 MCA 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.}

\subsubsection{ACPI configfs support}
CONFIG\_ACPI\_CONFIGFS [=m] \textbf{[M]}\\
Wählen Sie diese Option, um die Unterstützung für die ACPI-Konfiguration aus dem Userspace zu aktivieren.
Die konfigurierbaren ACPI-Gruppen sind dann unter \texttt{/config/acpi} sichtbar, vorausgesetzt, configfs ist unter \texttt{/config} eingebunden.
\english{Select this option to enable support for ACPI configuration from userspace.
The configurable ACPI groups will be visible under \texttt{/config/acpi}, assuming configfs is mounted under \texttt{/config}.}

\subsubsection{ACPI Platform Firmware Runtime Update and Telemetry}
CONFIG\_ACPI\_PFRUT [=m] \textbf{[M]}\\
Dieser Mechanismus ermöglicht es, bestimmte Teile der Plattform-Firmware während des laufenden Betriebs (Laufzeit) zu aktualisieren, ohne dass ein Neustart erforderlich ist.
Dies ist von entscheidender Bedeutung, wenn das System zu \qty{100}{\percent} verfügbar sein muss und sich die mit einem Neustart verbundene Ausfallzeit nicht leisten kann, oder wenn die vom System ausgeführte Arbeit besonders wichtig ist, so dass sie nicht unterbrochen werden kann und es nicht sinnvoll ist, zu warten, bis sie abgeschlossen ist.
Der bestehende Firmware-Code kann geändert (Treiber-Update) oder durch Hinzufügen neuen Codes zur Firmware erweitert werden (Code-Injektion).
Außerdem ermöglicht der Telemetrietreiber dem Benutzer, mit Hilfe der Plattform-Firmware-Laufzeit-Telemetrieschnittstelle Telemetriedaten aus der Firmware abzurufen.
Um die Treiber als Module zu kompilieren, wählen Sie hier M: die Module heißen dann \texttt{pfr\_update} und \texttt{pfr\_telemetry}.
\english{This mechanism allows certain pieces of the platform firmware to be updated on the fly while the system is running (runtime) without the need to restart it, which is key in the cases when the system needs to be available 100\% of the time and it cannot afford the downtime related to restarting it, or when the work carried out by the system is particularly important, so it cannot be interrupted, and it is not practical to wait until it is complete.\\
The existing firmware code can be modified (driver update) or extended by adding new code to the firmware (code injection).\\
Besides, the telemetry driver allows user space to fetch telemetry data from the firmware with the help of the Platform Firmware Runtime Telemetry interface.\\
To compile the drivers as modules, choose M here: the modules will be called \texttt{pfr\_update} and \texttt{pfr\_telemetry}.}

\subsubsection{ACPI PCC Address Space}
CONFIG\_ACPI\_PCC [=y] \textbf{[Y]}\\
Der PCC-Adressraum, der auch als PCC-Operationsbereich bezeichnet wird, bezieht sich auf den Bereich des PCC-Unterraums, der auf die PCC-Signatur folgt.
Die PCC Operation Region arbeitet mit der PCC Table (Platform Communications Channel Table) zusammen.
PCC-Unterräume, die für die Verwendung als PCC Operation Region markiert sind, dürfen nicht als PCC-Unterräume für die Standard-ACPI-Funktionen wie CPPC, RASF, PDTT und MPST verwendet werden.
Diese Standardfunktionen müssen stattdessen immer die PCC-Tabelle verwenden.
Aktivieren Sie diese Funktion, wenn Sie den PCC Address Space Handler einrichten und installieren möchten, um PCC OpRegion in der Firmware zu behandeln.
\english{The PCC Address Space also referred as PCC Operation Region pertains to the region of PCC subspace that succeeds the PCC signature.\\
The PCC Operation Region works in conjunction with the PCC Table (Platform Communications Channel Table).
PCC subspaces that are marked for use as PCC Operation Regions must not be used as PCC subspaces for the standard ACPI features such as CPPC, RASF, PDTT and MPST.
These standard features must always use the PCC Table instead.\\
Enable this feature if you want to set up and install the PCC Address Space handler to handle PCC OpRegion in the firmware.}

\subsubsection{ACPI FFH Address Space}
CONFIG\_ACPI\_FFH [=y] \textbf{[Y]}\\
Der FFH (Fixed Function Hardware) Adressraum, auch FFH Operation Region genannt, erlaubt es, plattformspezifische OpRegions zu definieren.
Aktivieren Sie diese Funktion, wenn Sie den FFH-Adressraum-Handler einrichten und installieren möchten, um die FFH-OpRegion in der Firmware zu behandeln.
\english{The FFH(Fixed Function Hardware) Address Space also referred as FFH Operation Region allows to define platform specific opregion.\\
Enable this feature if you want to set up and install the FFH Address Space handler to handle FFH OpRegion in the firmware.}

\subsubsection{PMIC (Power Management Integrated Circuit) operation region support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_PMIC\_OPREGION [=y] \textbf{[Y]}\\*
Wählen Sie diese Option, um die Unterstützung für den ACPI-Betriebsbereich des PMIC-Chips zu aktivieren.
Der Betriebsbereich kann zur Steuerung von Stromschienen und zum Lesen/Schreiben von Sensoren auf dem PMIC-Chip verwendet werden.
\english{Select this option to enable support for ACPI operation region of the PMIC chip.
The operation region can be used to control power rails and sensor reading/writing on the PMIC chip.}

\paragraph{ACPI operation region support for Bay Trail Crystal Cove PMIC}\mbox{}\\
CONFIG\_BYTCRC\_PMIC\_OPREGION [=y] \textbf{[Y]}\\*
Diese Konfiguration fügt ACPI-Betriebsbereich-Unterstützung für die Bay Trail-Version des Crystal Cove PMIC hinzu.
\english{This config adds ACPI operation region support for the Bay Trail version of the Crystal Cove PMIC.}

\paragraph{ACPI operation region support for Cherry Trail Crystal Cove PMIC}\mbox{}\\
CONFIG\_CHTCRC\_PMIC\_OPREGION [=y] \textbf{[Y]}\\*
Diese Konfiguration fügt ACPI-Betriebsbereich-Unterstützung für die Cherry Trail-Version des Crystal Cove PMIC hinzu.
\english{This config adds ACPI operation region support for the Cherry Trail version of the Crystal Cove PMIC.}

\paragraph{ACPI operation region support for XPower AXP288 PMIC}\mbox{}\\
CONFIG\_XPOWER\_PMIC\_OPREGION [=y] \textbf{[Y]}\\*
Diese Konfiguration fügt ACPI-Betriebsbereich-Unterstützung für XPower AXP288 PMIC hinzu.
\english{This config adds ACPI operation region support for XPower AXP288 PMIC.}

\paragraph{ACPI operation region support for BXT WhiskeyCove PMIC}\mbox{}\\
CONFIG\_BXT\_WC\_PMIC\_OPREGION [=y] \textbf{[Y]}\\*
Diese Konfiguration fügt ACPI-Betriebsbereich-Unterstützung für BXT WhiskeyCove PMIC hinzu.
\english{This config adds ACPI operation region support for BXT WhiskeyCove PMIC.}

\paragraph{ACPI operation region support for CHT Whiskey Cove PMIC}\mbox{}\\
CONFIG\_CHT\_WC\_PMIC\_OPREGION [=y] \textbf{[Y]}\\*
Diese Konfiguration fügt ACPI-Betriebsbereich-Unterstützung für CHT Whiskey Cove PMIC hinzu.
\english{This config adds ACPI operation region support for CHT Whiskey Cove PMIC.}

\paragraph{ACPI operation region support for Dollar Cove TI PMIC}\mbox{}\\
CONFIG\_CHT\_DC\_TI\_PMIC\_OPREGION [=y] \textbf{[Y]}\\*
Diese Konfiguration fügt ACPI-Betriebsbereich-Unterstützung für Dollar Cove TI PMIC hinzu.
\english{This config adds ACPI operation region support for Dollar Cove TI PMIC.}

\subsubsection{ACPI operation region support for TPS68470 PMIC}
CONFIG\_TPS68470\_PMIC\_OPREGION [=y] \textbf{[Y]}\\
Diese Konfiguration fügt ACPI-Betriebsbereich-Unterstützung für TI TPS68470 PMIC hinzu.
Der Baustein TPS68470 ist eine fortschrittliche Energieverwaltungseinheit, die ein Kompaktkameramodul (CCM) mit Strom versorgt, Takte für Bildsensoren erzeugt, eine Dual-LED für den Blitz ansteuert und zwei LED-Treiber für allgemeine Anzeigen enthält.
Dieser Treiber ermöglicht die Unterstützung der ACPI-Betriebsregion für die Steuerung von Spannungsreglern und Taktgebern.
Bei dieser Option handelt es sich um ein bool, da sie eine ACPI-Betriebsregion bereitstellt, die verfügbar sein muss, bevor eines der Geräte, die diese Option verwenden, getestet wird.
\english{This config adds ACPI operation region support for TI TPS68470 PMIC.
TPS68470 device is an advanced power management unit that powers a Compact Camera Module (CCM), generates clocks for image sensors, drives a dual LED for flash and incorporates two LED drivers for general purpose indicators.
This driver enables ACPI operation region support control voltage regulators and clocks.\\
This option is a bool as it provides an ACPI operation region, which must be available before any of the devices using this, are probed.}

\subsubsection{Platform Runtime Mechanism Support}
CONFIG\_ACPI\_PRMT [=y] \textbf{[Y]}\\
Der Plattform-Laufzeit-Mechanismus (Platform Runtime Mechanism, PRM) ist eine Firmware"=Schnittstelle, die eine Reihe von ausführbaren Binärdateien bereitstellt, die vom AML-Interpreter oder direkt von Gerätetreibern aufgerufen werden können.
Sagen Sie Y, um den AML-Interpreter für die Ausführung des PRM-Codes zu aktivieren.
Während diese Funktion im Prinzip optional ist, kann das Weglassen dieser Funktion den Rechenaufwand für die Initialisierung einiger Serversysteme erheblich erhöhen.
\english{Platform Runtime Mechanism (PRM) is a firmware interface exposing a set of binary executables that can be called from the AML interpreter or directly from device drivers.\\
Say Y to enable the AML interpreter to execute the PRM code.\\
While this feature is optional in principle, leaving it out may substantially increase computational overhead related to the initialization of some server systems.}

%5.12
\subsection{Power Management Timer Support}
CONFIG\_X86\_PM\_TIMER [=y] \textbf{[Y]}\\*
Der Power Management Timer ist auf allen ACPI-fähigen Systemen verfügbar, in den meisten Fällen auch dann, wenn ACPI unbrauchbar ist oder auf der schwarzen Liste steht.
Diese Zeitquelle wird nicht von Energieverwaltungsfunktionen wie aggressivem Leerlauf des Prozessors, Drosselung, Frequenz- und/oder Spannungsskalierung beeinflusst, im Gegensatz zu der häufig verwendeten Zeitquelle Time Stamp Counter (TSC).
Sie sollten hier fast immer Y angeben, da viele moderne Systeme diesen Timer benötigen.
\english{The Power Management Timer is available on all ACPI-capable, in most cases even if ACPI 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.}

%5.13
\subsection{CPU Frequency scaling \texorpdfstring{$\rightarrow$}{->}}
Für diese Option ist keine Hilfe verfügbar.
\english{There is no help available for this option.}

\subsubsection{CPU Frequency scaling}
CONFIG\_CPU\_FREQ [=y] \textbf{[Y]}\\
Mit der CPU-Frequenzskalierung können Sie die Taktfrequenz von CPUs im laufenden Betrieb ändern.
Dies ist eine gute Methode, um Strom zu sparen, denn je niedriger die CPU-Taktfrequenz, desto weniger Strom verbraucht die CPU.
Beachten Sie, dass dieser Treiber die CPU-Taktfrequenz nicht automatisch ändert.
Sie müssen entweder einen dynamischen cpufreq-Governor (siehe unten) nach dem Booten aktivieren oder ein Userspace-Tool verwenden.\\
Details finden Sie in $<$file:Documentation/admin-guide/pm/cpufreq.rst$>$. Im Zweifelsfall sagen Sie N.
\english{CPU Frequency scaling allows you to change the clock speed of CPUs on the fly.
This is a nice method to save power, because the lower the CPU clock speed, the less power the CPU consumes.\\
Note that this driver doesn't automatically change the CPU clock speed, you need to either enable a dynamic cpufreq governor (see below) after boot, or use a userspace tool.\\
For details, take a look at $<$file:Documentation/admin-guide/pm/cpufreq.rst$>$.\\
If in doubt, say N.}

\paragraph{CPU frequency transition statistics}$~$\\
CONFIG\_CPU\_FREQ\_STAT [=y] \textbf{[Y]}\\
Exportieren Sie CPU-Häufigkeitsstatistiken über sysfs.
Im Zweifelsfall sagen Sie N.
\english{Export CPU frequency statistics information through sysfs.
If in doubt, say N.}

\paragraph{Default CPUFreq governor () \texorpdfstring{$\rightarrow$}{->}}$~$\\
Diese Option legt fest, welcher CPUFreq-Governor beim Start geladen werden soll.
Im Zweifelsfall ist die Standardeinstellung zu verwenden.
\english{This option sets which CPUFreq governor shall be loaded at startup.
If in doubt, use the default setting.}

\subparagraph{performance}$~$\\
CONFIG\_CPU\_FREQ\_DEFAULT\_GOV\_PERFORMANCE [=n] \textbf{[N]}\\
Verwenden Sie den CPUFreq-Governor \glq performance\grq{} als Standard.
Damit wird die Frequenz statisch auf die höchste von der CPU unterstützte Frequenz eingestellt.
\english{Use the CPUFreq governor `performance' as default.
This sets the frequency statically to the highest frequency supported by the CPU.}

\subparagraph{powersave}$~$\\
CONFIG\_CPU\_FREQ\_DEFAULT\_GOV\_POWERSAVE [=n] \textbf{[N]}\\
Verwenden Sie den CPUFreq-Governor \glq powersave\grq{} als Standard.
Damit wird die Frequenz statisch auf die niedrigste von der CPU unterstützte Frequenz eingestellt.
\english{Use the CPUFreq governor `powersave' as default.
This sets the frequency statically to the lowest frequency supported by the CPU.}

\subparagraph{userspace}$~$\\
CONFIG\_CPU\_FREQ\_DEFAULT\_GOV\_USERSPACE [=n] \textbf{[N]}\\
Verwenden Sie den CPUFreq-Governor \glq userspace\grq{} als Standard.
Damit können Sie die CPU-Frequenz manuell einstellen oder ein Userspace-Programm soll die CPU dynamisch einstellen können, ohne den Userspace-Governor manuell aktivieren zu müssen.
\english{Use the CPUFreq governor `userspace' as default.
This allows you to set the CPU frequency manually or when a userspace program shall be able to set the CPU dynamically without having to enable the userspace governor manually.}

\subparagraph{schedutil}$~$\\
CONFIG\_CPU\_FREQ\_DEFAULT\_GOV\_SCHEDUTIL [=y] \textbf{[Y]}\\
Verwenden Sie standardmäßig den CPUFreq-Governor \glq schedutil\grq{}.
Wenn Sie sich nicht sicher sind, sehen Sie in der Hilfe zu diesem Gouverneur nach.
Der Fallback-Regler ist \glqq performance\grqq{}.
\english{Use the `schedutil' CPUFreq governor by default.
If unsure, have a look at the help section of that governor.
The fallback governor will be `performance'.}

\paragraph{`performance' governor}$~$\\
CONFIG\_CPU\_FREQ\_GOV\_PERFORMANCE [=y] \textbf{[Y]}\\
Dieser cpufreq-Regler setzt die Frequenz statisch auf die höchste verfügbare CPU-Frequenz.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{cpufreq\_performance} heißen.
Im Zweifelsfall sagen Sie Y.
\english{This cpufreq governor sets the frequency statically to the highest available CPU frequency.\\
To compile this driver as a module, choose M here: the module will be called \texttt{cpufreq\_performance}.\\
If in doubt, say Y.}

\paragraph{`powersave' governor}$~$\\
CONFIG\_CPU\_FREQ\_GOV\_POWERSAVE [=y] \textbf{[Y]}\\
Dieser cpufreq-Regler setzt die Frequenz statisch auf die niedrigste verfügbare CPU-Frequenz.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{cpufreq\_powersave} heißen.
Im Zweifelsfall wählen Sie Y.
\english{This cpufreq governor sets the frequency statically to the lowest available CPU frequency.\\
To compile this driver as a module, choose M here: the module will be called \texttt{cpufrequ\_powersave}.\\
If in doubt, say Y.}

\paragraph{`userspace' governor for userspace frequency scaling}$~$\\
CONFIG\_CPU\_FREQ\_GOV\_USERSPACE [=y] \textbf{[Y]}\\
Aktivieren Sie diesen cpufreq-Governor, wenn Sie die CPU-Frequenz entweder manuell einstellen wollen oder wenn ein Userspace-Programm in der Lage sein soll, die CPU dynamisch einzustellen, wie bei LART \url{http://www.lartmaker.nl/}.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{cpufreq\_userspace} heißen.
Im Zweifelsfall sagen Sie Y.
\english{Enable this cpufreq governor when you either want to set the CPU frequency manually or when a userspace program shall be able to set the CPU dynamically, like on LART \url{http://www.lartmaker.nl/}.\\
To compile this driver as a module, choose M here: the module will be called \texttt{cpufreq\_userspace}.
If in doubt, say Y.}

\paragraph{`ondemand' cpufreq policy governor}$~$\\
CONFIG\_CPU\_FREQ\_GOV\_ONDEMAND [=y] \textbf{[Y]}\\
`ondemand' -- Dieser Treiber fügt einen dynamischen cpufreq policy governor hinzu.
Der Gouverneur führt eine periodische Abfrage durch und ändert die Frequenz auf der Grundlage der CPU-Auslastung.
Die Unterstützung für diesen Gouverneur hängt von der Fähigkeit der CPU ab, schnelle Frequenzwechsel durchzuführen (d.\,h. Frequenzübergänge mit sehr geringer Latenzzeit).
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{cpufreq\_ondemand} heißen.
Details finden Sie in $<$file:Documentation/admin-guide/pm/cpufreq.rst$>$.
Im Zweifelsfall sagen Sie N.
\english{`ondemand' -- This driver adds a dynamic cpufreq policy governor.
The governor does a periodic polling and changes frequency based on the CPU utilization.
The support for this governor depends on CPU capability to do fast frequency switching (i.e, very low latency frequency transitions).\\
To compile this driver as a module, choose M here: the module will be called \texttt{cpufreq\_ondemand}.\\
For details, take a look at $<$file:Documentation/admin-guide/pm/cpufreq.rst$>$.\\
If in doubt, say N.}

\paragraph{`conservative' cpufreq governor}$~$\\
CONFIG\_CPU\_FREQ\_GOV\_CONSERVATIVE [=y] \textbf{[Y]}\\
`konservativ' -- dieser Treiber ähnelt dem \glqq On-Demand\grqq{}-Regler sowohl in seinem Quellcode als auch in seinem Zweck, der Unterschied besteht in seiner Optimierung für eine bessere Eignung in einer batteriebetriebenen Umgebung.
Die Frequenz wird sanft erhöht und gesenkt, anstatt auf \qty{100}{\percent} zu springen, wenn die Geschwindigkeit erforderlich ist.
Wenn Sie einen Desktop-Rechner haben, sollten Sie stattdessen den \glqq On-Demand\grqq{}-Regler in Betracht ziehen.
Wenn Sie jedoch einen Laptop, einen PDA oder sogar einen AMD64-basierten Computer verwenden (wegen der inakzeptablen schrittweisen Latenzprobleme zwischen den minimalen und maximalen Frequenzübergängen in der CPU), werden Sie wahrscheinlich diesen Regler verwenden wollen.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{cpufreq\_conservative} heißen.\\
Einzelheiten finden Sie in $<$file:Documentation/admin-guide/pm/cpufreq.rst$>$.\\
Im Zweifelsfall sagen Sie N.
\english{`conservative' -- this driver is rather similar to the `ondemand' governor both in its source code and its purpose, the difference is its optimisation for better suitability in a battery powered environment.
The frequency is gracefully increased and decreased rather than jumping to 100\% when speed is required.\\
If you have a desktop machine then you should really be considering the `ondemand' governor instead, however if you are using a laptop, PDA or even an AMD64 based computer (due to the unacceptable step-by-step latency issues between the minimum and maximum frequency transitions in the CPU) you will probably want to use this governor.\\
To compile this driver as a module, choose M here: the module will be called \texttt{cpufreq\_conservative}.
For details, take a look at $<$file:Documentation/admin-guide/pm/cpufreq.rst$>$.
If in doubt, say N.}

\paragraph{`schedutil' cpufreq policy governor}$~$\\
CONFIG\_CPU\_FREQ\_GOV\_SCHEDUTIL [=y] \textbf{[Y]}\\
Dieser Gouverneur trifft seine Entscheidungen auf der Grundlage der vom Scheduler bereitgestellten Nutzungsdaten.
Er stellt die CPU-Frequenz so ein, dass sie proportional zu dem vom Scheduler gelieferten Verhältnis zwischen Auslastung und Kapazität ist.
Wenn die Auslastung frequenzinvariant ist, ist die neue Frequenz auch proportional zur maximal verfügbaren Frequenz.
Wenn dies nicht der Fall ist, ist sie proportional zur aktuellen Frequenz der CPU.
Der Kipppunkt der Frequenz liegt in beiden Fällen bei einer Auslastung/Kapazität von \qty{80}{\percent}.\\
Im Zweifelsfall sagen Sie N.
\english{This governor makes decisions based on the utilization data provided by the scheduler.
It sets the CPU frequency to be proportional to the utilization/capacity ratio coming from the scheduler.
If the utilization is frequency-invariant, the new frequency is also proportional to the maximum available frequency.
If that is not the case, it is proportional to the current frequency of the CPU.
The frequency tipping point is at utilization/capacity equal to 80\% in both cases. If in doubt, say N.}


\paragraph*{*** CPU frequency scaling drivers ***}$~$\\
\textit{Treiber zur Skalierung der CPU-Frequenz}

\paragraph{Intel P state control}$~$\\
CONFIG\_X86\_INTEL\_PSTATE [=y] \textbf{[Y]}\\
Dieser Treiber bietet einen P-Status für Intel-Core-Prozessoren.
Der Treiber implementiert einen internen Gouverneur und wird der Skalierungstreiber und Gouverneur für Sandy-Bridge-Prozessoren werden.
Wenn dieser Treiber aktiviert ist, wird er der bevorzugte Skalierungstreiber für Sandy-Bridge-Prozessoren.\\
Im Zweifelsfall sagen Sie N.
\english{This driver provides a P state for Intel core processors.
The driver implements an internal governor and will become the scaling driver and governor for Sandy bridge processors.\\
When this driver is enabled it will become the preferred scaling driver for Sandy bridge processors.\\
If in doubt, say N.}

\paragraph{Processor Clocking Control interface driver}$~$\\
CONFIG\_X86\_PCC\_CPUFREQ [=m] \textbf{[M]}\\
Dieser Treiber bietet Unterstützung für die PCC-Schnittstelle.
Einzelheiten finden Sie unter:\\$<$file:Documentation/admin-guide/pm/cpufreq\_drivers.rst$>$.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{pcc-cpufreq} heißen.
Im Zweifelsfall sagen Sie N.
\english{This driver adds support for the PCC interface.\\
For details, take a look at: $<$file:Documentation/admin-guide/pm/cpufreq\_drivers.rst$>$.
To compile this driver as a module, choose M here: the module will be called \texttt{pcc-cpufreq}.
If in doubt, say N.}

\paragraph{AMD Processor P-State driver}$~$\\
CONFIG\_X86\_AMD\_PSTATE [=y] \textbf{[Y]}\\
Dieser Treiber fügt einen CPUFreq-Treiber hinzu, der einen feinkörnigen Frequenzsteuerungsbereich für die Prozessorleistung anstelle der alten Leistungsstufen verwendet.
In den ACPI-Tabellen des Systems muss \_CPC vorhanden sein.\\
Details finden Sie unter: $<$file:Documentation/admin-guide/pm/amd-pstate.rst$>$.
Im Zweifelsfall sagen Sie N.
\english{This driver adds a CPUFreq driver which utilizes a fine grain processor performance frequency control range instead of legacy performance levels.
\_CPC needs to be present in the ACPI tables of the system.\\
For details, take a look at: $<$file:Documentation/admin-guide/pm/amd-pstate.rst$>$.
If in doubt, say N.}

\subparagraph{AMD Processor P-State default mode}$~$\\
CONFIG\_X86\_AMD\_PSTATE\_DEFAULT\_MODE [=3] \textbf{[3]}\\
Wählen Sie den Standardmodus, den der amd-pstate-Treiber auf unterstützter Hardware verwenden soll.
Der eingestellte Wert hat die folgenden Bedeutungen: 
\begin{itemize}
\item[] 1 \texorpdfstring{$\rightarrow$}{->} Deaktiviert
\item[] 2 \texorpdfstring{$\rightarrow$}{->} Passiv
\item[] 3 \texorpdfstring{$\rightarrow$}{->} Aktiv (EPP)
\item[] 4 \texorpdfstring{$\rightarrow$}{->} Geführt
\end{itemize}
Für Details, siehe: $<$file:Documentation/admin-guide/pm/amd-pstate.rst$>$.\\
Symbol: X86\_AMD\_PSTATE\_DEFAULT\_MODE [=3]\\
Type  : Ganzzahl (integer)\\
Bereich (range): [1 4]
\english{Select the default mode the amd-pstate driver will use on supported hardware.
The value set has the following meanings:\\
\indent 1 $->$ Disabled\\
\indent 2 $->$ Passive\\
\indent 3 $->$ Active (EPP)\\
\indent 4 $->$ Guided\\
For details, take a look at: $<$file:Documentation/admin-guide/pm/amd-pstate.rst$>$.}

\subparagraph{selftest for AMD Processor P-State driver}$~$\\
CONFIG\_X86\_AMD\_PSTATE\_UT [=m] \textbf{[M]}\\
Dieses Kernelmodul wird für Tests verwendet. Hier kann man mit Sicherheit M sagen.
Es kann auch ohne aktiviertes X86\_AMD\_PSTATE eingebaut werden.
Derzeit werden nur Tests für amd-pstate unterstützt.
Wenn X86\_AMD\_PSTATE deaktiviert ist, kann es den Benutzern sagen, dass der Test nur auf dem amd-pstate Treiber laufen kann, bitte setzen Sie X86\_AMD\_PSTATE aktiv.
In der Zukunft werden Vergleichstests hinzugefügt werden.
Es kann amd-pstate deaktiviert und acpi-cpufreq aktiviert werden, um Testfälle auszuführen und dann die Testergebnisse zu vergleichen.
\english{This kernel module is used for testing.
It's safe to say M here.\\
It can also be built-in without X86\_AMD\_PSTATE enabled.
Currently, only tests for amd-pstate are supported.
If X86\_AMD\_PSTATE is set disabled, it can tell the users test can only run on amd-pstate driver, please set X86\_AMD\_PSTATE enabled.
In the future, comparison tests will be added.
It can set amd-pstate disabled and set acpi-cpufreq enabled to run test cases, then compare the test results.}

\paragraph{ACPI Processor P-States driver}$~$\\
CONFIG\_X86\_ACPI\_CPUFREQ [=m] \textbf{[M]}\\
Dieser Treiber fügt einen CPUFreq-Treiber hinzu, der die ACPI Processor Performance States nutzt.
Dieser Treiber unterstützt auch Intel Enhanced Speedstep und neuere AMD-CPUs.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{acpi-cpufreq} heißen.\\
Details finden Sie unter $<$file:Documentation/cpu-freq/$>$.
Im Zweifelsfall sagen Sie N.
\english{This driver adds a CPUFreq driver which utilizes the ACPI Processor Performance States.
This driver also supports Intel Enhanced Speedstep and newer AMD CPUs.\\
To compile this driver as a module, choose M here: the module will be called acpi-cpufreq.
For details, take a look at $<$file:Documentation/cpu-freq/$>$.\\
If in doubt, say N.}

\subparagraph{Legacy cpb sysfs knob support for AMD CPUs}$~$\\
CONFIG\_X86\_ACPI\_CPUFREQ\_CPB [=y] \textbf{[Y]}\\
Der powernow-k8-Treiber stellte früher einen sysfs-Regler namens \texttt{cpb} zur Verfügung, um die Core Performance Boosting-Funktion von AMD-CPUs zu deaktivieren.
Diese Datei wurde nun durch den allgemeineren \glqq boost\grqq{}-Eintrag abgelöst.
Wenn Sie diese Option aktivieren, stellt der acpi\_cpufreq-Treiber aus Kompatibilitätsgründen den alten Eintrag zusätzlich zum neuen \glqq boost\grqq{}-Eintrag bereit.
\english{The powernow-k8 driver used to provide a sysfs knob called ``cpb'' to disable the Core Performance Boosting feature of AMD CPUs.
This file has now been superseded by the more generic ``boost'' entry.\\
By enabling this option the acpi\_cpufreq driver provides the old entry in addition to the new boost ones, for compatibility reasons.}

\paragraph{AMD Opteron/Athlon64 PowerNow!}$~$\\
CONFIG\_X86\_POWERNOW\_K8 [=m] \textbf{[M]}\\
Dies fügt den CPUFreq-Treiber für K8/frühe Opteron/Athlon64-Prozessoren hinzu.
Unterstützung für K10 und neuere Prozessoren ist jetzt in acpi-cpufreq enthalten.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{powernow-k8} heißen.\\
Details finden Sie in $<$file:Documentation/cpu-freq/$>$.
\english{This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
Support for K10 and newer processors is now in acpi-cpufreq.\\
To compile this driver as a module, choose M here: the module will be called \texttt{powernow-k8}.\\
For details, take a look at $<$file:Documentation/cpu-freq/$>$.}

\paragraph{AMD frequency sensitivity feedback powersave bias}$~$\\
CONFIG\_X86\_AMD\_FREQ\_SENSITIVITY [=m] \textbf{[M]}\\
Dies fügt dem On-Demand-Governor eine AMD-spezifische Powersave-Bias-Funktion hinzu, die es ihm ermöglicht, auf der Grundlage von Rückmeldungen der Hardware energiebewusstere Entscheidungen über Frequenzänderungen zu treffen (verfügbar ab AMD-Familie 16h).
Durch das Hardware-Feedback erfährt die Software, wie \glqq empfindlich\grqq{} die Arbeitslasten der CPUs gegenüber Frequenzänderungen sind.
CPU-gebundene Arbeitslasten sind empfindlicher, d.\,h. sie werden bei einer Frequenzerhöhung besser funktionieren.
Speicher-/IO-gebundene Arbeitslasten reagieren weniger empfindlich, d.\,h. sie werden nicht unbedingt besser, wenn die Frequenz erhöht wird.\\
Im Zweifelsfall sagen Sie N.
\english{This adds AMD-specific powersave bias function to the ondemand governor, which allows it to make more power-conscious frequency change decisions based on feedback from hardware (available on AMD Family 16h and above).\\
Hardware feedback tells software how ``sensitive'' to frequency changes the CPUs' workloads are.
CPU-bound workloads will be more sensitive -- they will perform better as frequency increases.
Memory/IO-bound workloads will be less sensitive -- they will not necessarily perform better as frequency increases.\\
If in doubt, say N.}

\paragraph{Intel Enhanced SpeedStep (deprecated)}$~$\\
CONFIG\_X86\_SPEEDSTEP\_CENTRINO [=n] \textbf{[N]}\\
Dies ist veraltet und diese Funktionalität ist nun in acpi\_cpufreq (X86\_ACPI\_CPUFREQ) integriert.
Verwenden Sie diesen Treiber anstelle von speedstep\_centrino.
Dies fügt den CPUFreq-Treiber für Enhanced SpeedStep-fähige mobile CPUs hinzu.
Dies bedeutet Intel Pentium M (Centrino) CPUs oder 64bit-fähige Intel Xeons.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{speedstep-centrino} heißen.\\
Details finden Sie unter $<$file:Documentation/cpu-freq/$>$.
Im Zweifelsfall wählen Sie N.
\english{This is deprecated and this functionality is now merged into acpi\_cpufreq (X86\_ACPI\_CPUFREQ).
Use that driver instead of speedstep\_centrino.
This adds the CPUFreq driver for Enhanced SpeedStep enabled mobile CPUs.
This means Intel Pentium M (Centrino) CPUs or 64bit enabled Intel Xeons.\\
To compile this driver as a module, choose M here: the module will be called \texttt{speedstep-centrino}.\\
For details, take a look at $<$file:Documentation/cpu-freq/$>$.
If in doubt, say N.}

\paragraph{Intel Pentium 4 clock modulation}$~$\\
CONFIG\_X86\_P4\_CLOCKMOD \colorbox{yellow!80}{[=m] \textbf{[N]}}\\
Dies fügt den CPUFreq-Treiber für Intel Pentium 4 / XEON Prozessoren hinzu.
Wenn er aktiviert ist, senkt er die CPU-Temperatur durch Überspringen von Takten.
Dieser Treiber sollte nur in Ausnahmefällen verwendet werden, wenn eine sehr niedrige Leistung benötigt wird, da er starke Verlangsamungen und spürbare Latenzen verursacht.
Normalerweise sollte stattdessen Speedstep verwendet werden.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{p4-clockmod} genannt.\\
Für Details werfen Sie einen Blick auf $<$file:Documentation/cpu-freq/$>$.
Wenn Sie sich nicht absolut sicher sind, wählen Sie N.
\english{This adds the CPUFreq driver for Intel Pentium 4 / XEON processors.
When enabled it will lower CPU temperature by skipping clocks.\\
This driver should be only used in exceptional circumstances when very low power is needed because it causes severe slowdowns and noticeable latencies.
Normally Speedstep should be used instead.\\
To compile this driver as a module, choose M here: the module will be called \texttt{p4-clockmod}.\\
For details, take a look at $<$file:Documentation/cpu-freq/$>$. Unless you are absolutely sure say N.}

\paragraph*{*** shared options ***}$~$\\
\textit{gemeinsame Optionen}

\paragraph{Current frequency derived from HW provided feedback}$~$\\
CONFIG\_CPUFREQ\_ARCH\_CUR\_FREQ [=y] \textbf{[Y]}\\
Dies bestimmt, ob das sysfs-Attribut „scaling\_cur\_freq“ die zuletzt angeforderte Frequenz oder einen genaueren Wert basierend auf dem Feedback der Hardware (als architekturbasierte Zähler) zurückgibt.
Da nun über das Attribut „cpuinfo\_avg\_freq“ eine genauere Frequenz bereitgestellt werden kann, behält „scaling\_cur\_freq“ aus Kompatibilitätsgründen die Bereitstellung einer zählerbasierten Frequenz bei, wenn diese Option aktiviert ist.
\english{This determines whether the scaling\_cur\_freq sysfs attribute returns the last requested frequency or a more precise value based on hardware provided feedback (as architected counters). Given that a more precise frequency can now be provided via the cpuinfo\_avg\_freq attribute, by enabling this option, scaling\_cur\_freq maintains the provision of a counter based frequency, for compatibility reasons.}

%5.14 CPU Idle
\subsection{CPU Idle \texorpdfstring{$\rightarrow$}{->}}
\textit{CPU im Leerlauf}

\subsubsection{CPU idle PM support}
CONFIG\_CPU\_IDLE [=y] \textbf{[Y]}\\
CPU idle ist ein allgemeiner Mechanismus zur Unterstützung der softwaregesteuerten Verwaltung der
Prozessorleistung im Leerlauf. Es umfasst modulare plattformübergreifende Regler, die während der
Laufzeit ausgetauscht werden können. Wenn Sie eine ACPI-aktivierte Plattform verwenden, sollten Sie hier Y angeben.
PM steht für \glqq power management\grqq{} -- Verwaltung der Prozessorleistung.
\english{CPU idle is a generic framework for supporting software-controlled idle processor power management.
It includes modular cross-platform governors that can be swapped during runtime.\\
If you're using an ACPI-enabled platform, you should say Y here.}

\paragraph{Ladder governor (for periodic timer tick)}$~$\\
CONFIG\_CPU\_IDLE\_GOV\_LADDER [=y] \textbf{[Y]}\\
Für diese Option gibt es keine Hilfe.
\english{There is no help available for this option.}

\paragraph{Menu governor (for tickless system)}$~$\\
CONFIG\_CPU\_IDLE\_GOV\_MENU [=y] \textbf{[Y]}\\
Für diese Option gibt es keine Hilfe.
\english{There is no help available for this option.}

\paragraph{Timer events oriented (TEO) governor (for tickless systems)}$~$\\
CONFIG\_CPU\_IDLE\_GOV\_TEO [=y] \textbf{[Y]}\\
Dieser Gouverneur implementiert eine vereinfachte Methode zur Auswahl des Ruhezustands, die sich auf Timer-Ereignisse konzentriert und keine Steigerung der Interaktivität bewirkt.
Einige Arbeitslasten profitieren davon, und es sollte im Allgemeinen sicher zu verwenden sein.\\
Sagen Sie hier Y, wenn Sie mit den Alternativen nicht zufrieden sind.
\english{This governor implements a simplified idle state selection method focused on timer events and does not do any interactivity boosting.\\
Some workloads benefit from using it and it generally should be safe to use.
Say Y here if you are not happy with the alternatives.}

\paragraph{Haltpoll governor (for virtualized systems)}$~$\\
CONFIG\_CPU\_IDLE\_GOV\_HALTPOLL [=y] \textbf{[Y]}\\
Dieser Gouverneur implementiert die Auswahl des Leerlaufzustands von haltpoll, der in Verbindung mit dem haltpoll cpuidle-Treiber verwendet wird und es ermöglicht, eine bestimmte Zeit lang zu pollen, bevor der Leerlaufzustand erreicht wird.
Einige virtualisierte Arbeitslasten profitieren von dieser Funktion.
\english{This governor implements haltpoll idle state selection, to be used in conjunction with the haltpoll cpuidle driver, allowing for polling for a certain amount of time before entering idle state.\\
Some virtualized workloads benefit from using it.}

\paragraph{Halt poll cpuidle driver}$~$\\
CONFIG\_HALTPOLL\_CPUIDLE \colorbox{yellow!80}{[=m] \textbf{[N]}}\\
Diese Option aktiviert den \glqq halt poll cpuidle\grqq{}-Treiber, der eine Abfrage vor dem Anhalten im Gast ermöglicht (effizienter als die Abfrage im Host über halt\_poll\_ns für einige Szenarien).
\english{This option enables halt poll cpuidle driver, which allows to poll before halting in the guest (more efficient than polling in the host via halt\_poll\_ns for some scenarios).}

%5.15
\subsection{CPUidle Driver for Intel Processors}
CONFIG\_INTEL\_IDLE [=y] \textbf{[Y]}\\
Aktivieren Sie intel\_idle, einen cpuidle-Treiber, der das Wissen über native Intel-Hardware-Idle"=Funktionen enthält.
Der acpi\_idle-Treiber kann zur gleichen Zeit konfiguriert werden, um Prozessoren zu behandeln, die intel\_idle nicht unterstützt.
\english{Enable intel\_idle, a cpuidle driver that includes knowledge of native Intel hardware idle features.
The acpi\_idle driver can be configured at the same time, in order to handle processors intel\_idle does not support.}