Die Veröffentlichung des QEMU-Projekts 10.0.0 wurde vorgestellt. Als Emulator ermöglicht QEMU die AusfĂŒhrung von Programmen, die fĂŒr eine Hardwareplattform kompiliert wurden, auf einem System mit völlig anderer Architektur, beispielsweise die AusfĂŒhrung einer Anwendung fĂŒr ARM auf einem x86-kompatiblen PC. Im Virtualisierungsmodus erreicht QEMU eine CodeausfĂŒhrungsleistung in einer isolierten Umgebung, die nahezu der einer physischen Maschine entspricht, dank der direkten AusfĂŒhrung von Anweisungen auf der CPU und der Nutzung des Hypervisors Xen oder des KVM-Moduls in Linux oder des NVMM-Moduls in NetBSD.
UrsprĂŒnglich wurde das Projekt von Fabrice Bellard ins Leben gerufen, um die AusfĂŒhrung von fĂŒr die x86-Plattform kompilierten Linux-BinĂ€rdateien auf Architekturen zu ermöglichen, die von x86 abweichen. Im Laufe der Jahre wurden 14 Hardwarearchitekturen umfassend emuliert, und die Anzahl der emulierten HardwaregerĂ€te ĂŒberstieg 400. Zur Vorbereitung auf die Version 10.0 wurden mehr als 2800 Ănderungen von 211 Entwicklern vorgenommen.
Wichtige Verbesserungen, die in QEMU 10.0 hinzugefĂŒgt wurden:
- Im virtio-scsi-Treiber, der einen virtuellen SCSI-Controller (SCSI Host Bus Adapter) bereitstellt, virtuelle Maschinenwurde die UnterstĂŒtzung fĂŒr ein mehrstufiges Warteschlangensystem (Multiqueue) hinzugefĂŒgt, das es ermöglicht, Warteschlangen fĂŒr verschiedene BlockgerĂ€te aufzuteilen, um den Multithreading-Zugang auf Mehrkernsystemen zu gewĂ€hrleisten (verschiedene Warteschlangen eines Speichermediums können von verschiedenen I/O-Threads bearbeitet werden). Im Vergleich zum virtuellen BlockgerĂ€tetreiber (virtio-blk) liegt der virtuelle SCSI-Controller in der Leistung etwas zurĂŒck, ermöglicht aber die Nutzung von mehr als 28 Festplatten.
- In VFIO (Virtual Function I/O) wurde die UnterstĂŒtzung fĂŒr das Durchreichen von IGD (Integrated Graphics Device) fĂŒr integrierte GPUs, die in den 11. (Rocket Lake) und 12. (Alder Lake) Generationen von Intel-Prozessoren verwendet werden, verbessert. UnterstĂŒtzung fĂŒr Ă€ltere ATI-GPUs (x550) wurde hinzugefĂŒgt. BasisunterstĂŒtzung fĂŒr PCI PM (Power Management) wurde implementiert.
- Die Dokumentation des QMP-Protokolls (QEMU Machine Protocol) wurde erheblich ĂŒberarbeitet und erweitert, wodurch Anwendungen die Verwaltung von QEMU ermöglichen.
- Ein neuer Live-Migrationsmodus "cpr-transfer" (CheckPoint and Restart) wurde hinzugefĂŒgt, der es ermöglicht, ein Gastsystem in eine neue QEMU-Instanz zu verschieben, die auf demselben Host ausgefĂŒhrt wird. Dieser Modus minimiert die Unterbrechungszeit, da der Speicher des Gastsystems im virtuellen Adressraum der neuen QEMU-Instanz reflektiert wird, ohne den Inhalt zu kopieren.
- GrafikgerĂ€te âapple-gfx-pciâ und âapple-gfx-mmioâ wurden hinzugefĂŒgt, die das in macOS bereitgestellte Framework ParavirtualizedGraphics fĂŒr die Hardwarebeschleunigung von Grafik in Gastbetriebssystemen nutzen. Der erste Treiber ist fĂŒr x86-64-Systeme gedacht, der zweite fĂŒr ARM64.
- Im x86-Architektur-Emulator wurde die UnterstĂŒtzung fĂŒr Intel Xeon Prozessoren der Modelle Clearwater Forest und Sierra Forest v2 implementiert. Die Emulation von Instruktionen zur Manipulation von Zeichenfolgendaten wurde beschleunigt.
- Im ARM-Architektur-Emulator wurde die UnterstĂŒtzung fĂŒr die NPCM8445 Evaluation und i.MX 8M Plus EVK-Platinen eingefĂŒhrt. Die Emulation der Erweiterungen FEAT_AFP, FEAT_RPRES und FEAT_XS sowie physischer und virtueller Timer EL2 wurde hinzugefĂŒgt. Die UnterstĂŒtzung fĂŒr die CPU Arm PXA2xx und die Emulation von iwMMXt-Instruktionen wurde als veraltet erklĂ€rt.
- Im RISC-V Architektur-Emulator wurde die Emulation der Microblaze V-Platinen, CPU Ascalon und CPU RV64 Xiangshan Nanhu implementiert. UnterstĂŒtzung fĂŒr die Erweiterungen âsvukteâ, âssstateenâ, âsmrnmiâ, âsmdbltrpâ/âssdbltrpâ, âsupmâ, âsspmâ sowie fĂŒr die IOMMU-Ăbersetzungstags und GerĂ€te riscv-iommu-sys wurde hinzugefĂŒgt.
- Im HPPA-Architektur-Emulator wurde die Emulation der Diva GSP BMC-Platinen ermöglicht. Die Firmware SeaBIOS-hppa wurde bis Version 18 aktualisiert. Die Ăbersetzungsgeschwindigkeit wurde erhöht. Der Code zum ZurĂŒcksetzen der virtuellen CPU wurde verbessert. In 64-Bit-Systemen wird die Emulation von Konfigurationen mit bis zu 256 GB Arbeitsspeicher unterstĂŒtzt.
- Im LoongArch-Architektur-Emulator wurde die UnterstĂŒtzung fĂŒr das Hot-Plugging von CPUs eingefĂŒhrt. Ein paravirtualisiertes IPI (inter-processor interrupt) wurde implementiert. Die Nachverfolgung der Wartezeit fĂŒr die Bereitstellung von Ressourcen durch den Hypervisor wird ermöglicht. KVMDie UnterstĂŒtzung fĂŒr die virtuelle Weiterleitung von externen Interrupts (extioi) wurde hinzugefĂŒgt.
- Im s390x-Architektur-Emulator wurde die UnterstĂŒtzung fĂŒr die 17. Generation von Mainframe-CPUs hinzugefĂŒgt und die UnterstĂŒtzung fĂŒr virtio-mem implementiert. Zur Steigerung der Leistung wurde die Möglichkeit hinzugefĂŒgt, mit PCI-GerĂ€ten ohne IOMMU zu interagieren.
Quelle: opennet.ru
