diff --git a/documentation/linux_configuration.pdf b/documentation/linux_configuration.pdf index ad9ca76..070ab08 100644 --- a/documentation/linux_configuration.pdf +++ b/documentation/linux_configuration.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ee040ccbacb7217b5bb81c7353d37f5baf6908d77d674f1c2c9c2e927d0e8be -size 3253676 +oid sha256:613f748ff2ca4221fc048e98b0714d4f887239bc36695f352870a687354d2e5e +size 3254312 diff --git a/documentation/linux_configuration.tex b/documentation/linux_configuration.tex index 0c15556..6ed5915 100644 --- a/documentation/linux_configuration.tex +++ b/documentation/linux_configuration.tex @@ -10,6 +10,7 @@ % pacman -S texlive-mathscience %\includeonly{ + %linux_configuration_03_processor_type_and_features, %linux_configuration_04_mitigations_for_speculative_execution_vulnerabilities, %linux_configuration_05_power_management_and_acpi_options, %linux_configuration_09_general_architecture-dependent_options, diff --git a/documentation/linux_configuration_02_64-bit_kernel.tex b/documentation/linux_configuration_02_64-bit_kernel.tex index 3023849..c91bbb2 100644 --- a/documentation/linux_configuration_02_64-bit_kernel.tex +++ b/documentation/linux_configuration_02_64-bit_kernel.tex @@ -1,4 +1,4 @@ -% Linux 6.15 +% since Linux 6.15 \section{64-bit kernel} CONFIG\_64BIT [=y] \textbf{[Y]}\\ Sagen Sie Y für ja, zur Erstellung eines 64-Bit-Kernels -- früher bekannt als x86\_64\\ diff --git a/documentation/linux_configuration_03_processor_type_and_features.tex b/documentation/linux_configuration_03_processor_type_and_features.tex index a65e141..03b6078 100644 --- a/documentation/linux_configuration_03_processor_type_and_features.tex +++ b/documentation/linux_configuration_03_processor_type_and_features.tex @@ -1,4 +1,4 @@ -%Linux 6.14 +% since Linux 6.15 \section{Processor type and features \texorpdfstring{$\rightarrow$}{->}} Prozessortyp und Eigenschaften @@ -48,22 +48,31 @@ If you don't know what to do here, say N.} \note{Dies wäre nur auf kleinen Systemen mit einem Prozessorkern sinnvoll auf N zu stellen. Üblicherweise sollte das auf Y bleiben.} -%3.2 Support x2apic -\subsection{Support x2apic} +%3.2 former: Support x2apic +\subsection{x2APIC interrupt controller architecture support {\tiny seit 6.15}} CONFIG\_X86\_X2APIC [=y] \textbf{[Y]}\\ -Dies ermöglicht die Unterstützung von x2apic auf CPUs, die über diese Funktion verfügen. -Dies er\-mög\-licht 32-Bit-Apic-IDs (so dass es sehr große Systeme unterstützen kann) und greift auf den -lokalen apic über MSRs und nicht über mmio zu. Einige Intel-Systeme ab ca.~2022 sind in den x2APIC-Modus -gesperrt und können nicht auf die alten APIC-Modi zurückgreifen, wenn SGX oder TDX im BIOS aktiviert -sind. Ohne Aktivierung dieser Option booten sie mit stark eingeschränkter Funktionalität.\\ -\sout{Wenn Sie nicht wissen, was Sie hier tun sollen, sagen Sie N.} -\english{This enables x2apic support on CPUs that have this feature.\\ -This allows 32-bit apic IDs (so it can support very large systems), -and accesses the local apic via MSRs not via mmio.\\ -Some Intel systems circa 2022 and later are locked into x2APIC mode and can not fall -back to the legacy APIC modes if SGX or TDX are enabled in the BIOS. -They will boot with very reduced functionality without enabling this option.\\ -If you don't know what to do here, say N.} +x2APIC ist eine Interrupt-Controller-Architektur, von der eine Komponente (der lokale APIC) in der CPU vorhanden ist. +Sie ermöglicht einen schnelleren Zugriff auf den lokalen APIC und unterstützt eine größere Anzahl von CPUs im System als ihre Vorgänger. + +x2APIC wurde in Intel-CPUs um 2008 und in AMD EPYC-CPUs 2019 eingeführt, kann aber im BIOS deaktiviert werden. +Er wird auch häufig in virtuellen Maschinen emuliert, selbst wenn die Host-CPU ihn nicht unterstützt. +Die Unterstützung in der CPU kann durch Ausführen von \texttt{grep x2apic /proc/cpuinfo} überprüft werden. + +Wenn diese Konfigurationsoption deaktiviert ist, bootet der Kernel auf einigen Plattformen, auf denen x2APIC aktiviert ist, +mit stark eingeschränkter Funktionalität und Leistung. +Andererseits wird ein Kernel mit aktivierter Option auf Hardware, die x2APIC nicht unterstützt, einfach auf ältere +APIC-Implementierungen zurückgreifen. + +Im Zweifelsfall sagen Sie Y. +\english{x2APIC is an interrupt controller architecture, a component of which (the local APIC) is present in the CPU. +It allows faster access to the local APIC and supports a larger number of CPUs in the system than the predecessors.\\ +x2APIC was introduced in Intel CPUs around 2008 and in AMD EPYC CPUs in 2019, but it can be disabled by the BIOS. +It is also frequently emulated in virtual machines, even when the host CPU does not support it. +Support in the CPU can be checked by executing \texttt{grep x2apic /proc/cpuinfo}\\ +If this configuration option is disabled, the kernel will boot with very reduced functionality and performance on +some platforms that have x2APIC enabled. +On the other hand, on hardware that does not support x2APIC, a kernel with this option enabled will just fallback +to older APIC implementations.\\If in doubt, say Y.} \note{Sollte unterstützt werden, kann innerhalb von menuconfig gar nicht deaktiviert werden.} %3.3 Enable MSI and MSI-X delivery by posted interrupts