Nach 8 Monaten Entwicklung wurde die Veröffentlichung des freien Hypervisors Xen 4.21 bekannt gegeben. An der Entwicklung der neuen Version waren Unternehmen wie Amazon, Arm, EPAM Systems und AMD beteiligt. Der Code des Projekts ist in C geschrieben und wird unter der GPLv2+-Lizenz verbreitet. Die Entwicklung erfolgt im Rahmen der Linux Foundation.
Wesentliche Ănderungen in Xen 4.21:
- Es wird eine vollstĂ€ndige UnterstĂŒtzung des Linux Stubdomain-GerĂ€temodells gewĂ€hrleistet, das die AusfĂŒhrung von Komponenten zur Emulation von GerĂ€ten unter einem separaten unprivilegierten Benutzer ermöglicht. Das Modell der Linux Stubdomains wurde im Projekt QUBES OS entwickelt und unterstĂŒtzt die Verwendung von Emulations-Treibern aus den neuesten Versionen von QEMU sowie von QEMU verfĂŒgbaren Begleitfunktionen fĂŒr Gastsysteme.
- Ănderungen fĂŒr x86-basierte Systeme:
- Die UnterstĂŒtzung eines neuen Komprimierungsalgorithmus fĂŒr die PDX-Struktur (Page inDeX) wurde hinzugefĂŒgt, um die Leistung von Xen auf Intel-Prozessoren der Sierra Forest- und Granite Rapids-Serie bei nichtlinearen Abbildungen des physischen Speichers (sparse memory map) zu verbessern, die leere Bereiche zulassen.
- Die Möglichkeit, das Cache-Attribut in den MTRR (Memory Type Range Registers) fĂŒr das BAR (Base Address Register) des grundlegenden PCI-GerĂ€ts der Xen-Plattform, das von den Gast-Systemen im HVM-Modus verwendet wird, zu steuern, wurde hinzugefĂŒgt. StandardmĂ€Ăig wird im MTRR fĂŒr die Spiegelung des PCI-GerĂ€tespeichers das Attribut UC (uncacheable) gesetzt, was fĂŒr echte PCI-GerĂ€te sinnvoll ist, jedoch die Leistung des PCI-GerĂ€ts auf der Xen-Plattform verringert.
- FĂŒr AMD-Prozessoren wurde ein neuer Treiber amd-cppc/amd-cppc-epp hinzugefĂŒgt, der die Ănderung der CPU-Frequenz steuert, um eine optimale Leistung zu erzielen. Im Treiber wird der CPPC-Mechanismus (Collaborative Processor Performance Control) verwendet, der im Gegensatz zu acpi-cpufreq nicht auf drei Leistungsstufen beschrĂ€nkt ist und schneller auf StatusĂ€nderungen reagieren kann.
- In der xenstore-stubdom-Schicht, die verwendet wird, um xenstored ohne privilegiertes Dom0 zu starten, wurde die UnterstĂŒtzung fĂŒr Live-Updates in paravirtualisierten Umgebungen im PVH-Modus implementiert.
- FĂŒr Dom0 im PVH-Modus wurde die UnterstĂŒtzung fĂŒr die Resizable BAR-Technologie (Resizable Base Address Register) implementiert, die es ermöglicht, sofort auf den gesamten Speicher eines PCI-Express-GerĂ€ts zuzugreifen, und nicht nur basierend auf Blöcken.
- Die Möglichkeit, PCI-GerÀte in domU-Umgebungen im HVM-Modus (vollstÀndige hardwarebasierte Virtualisierung) zu durchreichen, wurde implementiert in Konfigurationen, in denen dom0 im PVH-Modus (hybride hardwarebasierte und paravirtualisierte Virtualisierung) arbeitet.
- Ănderungen fĂŒr Systeme auf ARM-Architektur:
- Die Möglichkeit zur Aktivierung des Stack-Schutzmechanismus (Kompilation mit dem Flag â-fstack-protectorâ), der auf der HinzufĂŒgung von Kanarien-Labels â zufĂ€lligen Sequenzen â zum Stack basiert, wurde hinzugefĂŒgt. Im Falle einer BufferĂŒberlaufverletzung wird das Kanarienlabel wĂ€hrend des Betriebs von anderen Daten ĂŒberschrieben, was zur Auslösung der nachfolgenden IntegritĂ€tsprĂŒfung des Labels und zur Initiierung eines Notabschaltungs der Anwendung fĂŒhrt.
- UnterstĂŒtzung des eSPI (Extended Shared Peripheral Interrupts) Mechanismus, bereitgestellt durch GICv3.1 Interrupt-Controller, wurde hinzugefĂŒgt.
- Die Verarbeitung von SMMU (System Memory Management Unit) beim Durchreichen von PCIe-GerÀten wurde implementiert.
- UnterstĂŒtzung von PCI-Hostcontrollern, die in der vierten Generation von SoC Renesas R-Car verwendet werden, wurde hinzugefĂŒgt.
- VorlĂ€ufige UnterstĂŒtzung fĂŒr Cortex-R52 und Cortex-R82 Prozessoren mit MPU (Memory Protection Unit) wurde hinzugefĂŒgt.
- Im Xen-Port fĂŒr die RISC-V-Architektur wurde eine grundlegende UnterstĂŒtzung fĂŒr UART sowie die Verarbeitung externer Interrupts (APLIC/IMSIC) im Hypervisor-Modus implementiert.
- Die Umsetzung der Anforderungen an die Entwicklung sicherer und zuverlĂ€ssiger Software in C, wie sie in den MISRA-C-Spezifikationen fĂŒr sicherheitskritische Systeme festgelegt sind, wird fortgesetzt.
- Die UnterstĂŒtzung fĂŒr Ă€ltere Versionen von GCC und Clang wurde eingestellt. FĂŒr den Build sind nun mindestens GCC 5.1, Clang 11, Binutils 2.25 und GNU Make 3.80 erforderlich.
Quelle: opennet.ru
