Die Veröffentlichung des Projekts QEMU 6.2 wurde vorgestellt. Als Emulator ermöglicht QEMU das AusfĂŒhren von Programmen, die fĂŒr eine Hardware-Plattform entwickelt wurden, auf einem System mit einer völlig anderen Architektur, zum Beispiel die AusfĂŒhrung von ARM-Anwendungen auf einem x86-kompatiblen PC. Im Virtualisierungsmodus bietet QEMU eine Leistung, die der einer physischen Systemumgebung nahekommt, da es Instruktionen direkt auf der CPU ausfĂŒhrt und den Hypervisor Xen oder das KVM-Modul nutzt.
UrsprĂŒnglich wurde das Projekt von Fabrice Bellard ins Leben gerufen, um die AusfĂŒhrung von fĂŒr die x86-Plattform kompilierten Linux-Executable-Dateien auf Architekturen, die sich von x86 unterscheiden, zu ermöglichen. Im Laufe der Jahre wurden vollstĂ€ndige EmulationsunterstĂŒtzung fĂŒr 14 Hardwarearchitekturen hinzugefĂŒgt, und die Anzahl der emulierten HardwaregerĂ€te ĂŒberstieg 400. Bei der Vorbereitung der Version 6.2 wurden mehr als 2300 Ănderungen von 189 Entwicklern vorgenommen.
SchlĂŒsselverbesserungen, die in QEMU 6.2 hinzugefĂŒgt wurden:
- Im Mechanismus virtio-mem, der das Hot-Pluggen und -Abziehen von Speicher ermöglicht, wurden unterstĂŒtzung fĂŒr virtuelle Maschinen, vollstĂ€ndige UnterstĂŒtzung fĂŒr Speicherdumps von Gastsystemen, KopiervorgĂ€nge vor und nach der Migration der Umgebung (pre-copy/post-copy) und das Erstellen von Snapshots des Gastsystems im Hintergrund hinzugefĂŒgt.
- Im QMP (QEMU Machine Protocol) wurde die Fehlerbehandlung fĂŒr DEVICE_UNPLUG_GUEST_ERROR implementiert, die auf Seiten des Gastsystems bei Fehlern beim Hot-Pluggen von Hardware auftritt.
- Die Syntax der Boot-Argumente, die in Plugins des klassischen Codegenerators TCG (Tiny Code Generator) verarbeitet werden, wurde erweitert. Im Plugin âcacheâ wurde die UnterstĂŒtzung fĂŒr Mehrkernsysteme hinzugefĂŒgt.
- Im Emulator der x86-Architektur wurde die UnterstĂŒtzung des CPU-Modells Intel Snowridge-v4 implementiert. AuĂerdem wurde die UnterstĂŒtzung fĂŒr den Zugriff auf Intel SGX (Software Guard eXtensions) ĂŒber Gastsysteme hinzufĂŒgt, wobei das GerĂ€t /dev/sgx_vepc auf der Seite des Host-Systems und das Backend âmemory-backend-epcâ in QEMU verwendet wird. FĂŒr Gastsysteme, die durch die AMD SEV (Secure Encrypted Virtualization) Technologie geschĂŒtzt sind, wurde die Möglichkeit fĂŒr einen verifiable direct (ohne Bootloader) Start des Kernels (aktiviert durch Setzen des Parameters âkernel-hashes=onâ in âsev-guestâ) hinzugefĂŒgt.
- Im ARM-Emulator auf Hosts mit Apple Silicon-Chips wurde die UnterstĂŒtzung fĂŒr den Hardwarebeschleunigungsmechanismus âhvfâ beim Starten von Gast-Systemen auf Basis der AArch64-Architektur implementiert. Die UnterstĂŒtzung fĂŒr die Emulation von Fujitsu A64FX-Prozessoren wurde hinzugefĂŒgt. Ein neuer Typ von emulierten Maschinen âkudo-mbcâ wurde umgesetzt. FĂŒr âvirtâ-Maschinen wurde die Emulation von ITS (Interrupt Translation Service) und die Möglichkeit zur Nutzung von mehr als 123 CPUs im Emulationsmodus hinzugefĂŒgt. FĂŒr die emulierten Maschinen âxlnx-zcu102â und âxlnx-versal-virtâ erfolgt die UnterstĂŒtzung von BBRAM- und eFUSE-GerĂ€ten. FĂŒr Systeme mit Cortex-M55-Chips wird die UnterstĂŒtzung des mobilen Profils der Prozessorerweiterungen MVE bereitgestellt.
- Im PowerPC-Architektur-Emulator wurde die anfĂ€ngliche UnterstĂŒtzung des CPU POWER10 DD2.0-Modells hinzugefĂŒgt. FĂŒr die emulierten Maschinen âpowernvâ wurde die UnterstĂŒtzung der POWER10-Architektur verbessert, wĂ€hrend fĂŒr âpseriesâ-Maschinen Beschreibungen fĂŒr FORM2 PAPR NUMA hinzugefĂŒgt wurden.
- Im RISC-V-Architektur-Emulator wurde die UnterstĂŒtzung fĂŒr die Erweiterungen des Befehlssatzes Zb[abcs] hinzugefĂŒgt. FĂŒr alle emulierten Maschinen wurde die Verwendung der Optionen âhost-userâ und ânuma memâ erlaubt. Die UnterstĂŒtzung fĂŒr SiFive PWM (Pulsweitenmodulator) wurde hinzugefĂŒgt.
- Im 68k-Architektur-Emulator wurde die UnterstĂŒtzung des von Apple vorgeschlagenen NuBus-Busses verbessert, einschlieĂlich der Möglichkeit, ROM-Images zu laden und die UnterstĂŒtzung von Interrupt-Slots.
- Im BlockgerĂ€t qemu-nbd ist standardmĂ€Ăig der Cache-Modus fĂŒr SchreibvorgĂ€nge (âwritebackâ anstelle von âwritethroughâ) aktiviert, um das Verhalten von qemu-img zu entsprechen. Die Option ââselinux-labelâ wurde fĂŒr die Vergabe von SELinux-Labels an Unix-Sockets hinzugefĂŒgt.
Quelle: opennet.ru
