De release van QEMU 6.1 is gepresenteerd. Als emulator stelt QEMU in staat om een programma dat is gecompileerd voor één hardwareplatform uit te voeren op een systeem met een totaal andere architectuur, bijvoorbeeld het uitvoeren van een applicatie voor ARM op een x86-compatibele pc. In de virtualisatiemodus is de prestatie van de code-uitvoering in een geïsoleerde omgeving dicht bij die van een hardware-systeem door de directe uitvoering van instructies op de CPU en het gebruik van de hypervisor Xen of de KVM-module.
Het project is oorspronkelijk opgericht door Fabrice Bellard met als doel het mogelijk maken om uitvoerbare bestanden van Linux die zijn samengesteld voor de x86-architectuur uit te voeren op architecturen die afwijken van x86. Gedurende jaren van ontwikkeling is volledige emulatie voor 14 hardwarearchitecturen toegevoegd, en het aantal geƫmuleerde hardwareapparaten is meer dan 400 overschreden. Voor versie 6.1 zijn meer dan 3000 wijzigingen aangebracht door 221 ontwikkelaars.
Belangrijke verbeteringen in QEMU 6.1:
- Er is een commando "blockdev-reopen" toegevoegd aan QMP (QEMU Machine Protocol) om de instellingen van een al gemaakt blokkering apparaat te wijzigen.
- De prioritaire cryptodriver is gnutls, die andere drivers overtreft in prestaties. De eerder als standaard voorgestelde driver op basis van libgcrypt is verplaatst naar de opties, en de driver op basis van nettle blijft als back-upoptie beschikbaar, die wordt gebruikt in afwezigheid van GnuTLS en Libgcrypt.
- In de I2C-emulator is ondersteuning toegevoegd voor PMBus en I2C-multiplexers (pca9546, pca9548).
- Standaard is ondersteuning voor plugins voor de klassieke TCG (Tiny Code Generator) toegevoegd. Nieuwe plugins execlog (uitvoeringslogboek) en cache modelling (simulatie van cachegedrag L1 in CPU) zijn toegevoegd.
- In de ARM-emulator is ondersteuning voor kaarten op basis van Aspeed-chips (rainier-bmc, quanta-q7l1), npcm7xx (quanta-gbs-bmc) en Cortex-M3 (stm32vldiscovery) toegevoegd. Ondersteuning voor hardwareversnellers voor encryptie en hashing, die in Aspeed-chips worden geleverd, is toegevoegd. Ondersteuning voor de emulatie van SVE2-instructies (inclusief bfloat16), matrixvermenigvuldigingsoperatoren en commando's voor het resetten van associatieve vertaalbuffer (TLB).
- In de PowerPC-architectuur emulator voor de geëmuleerde machines "pseries" is ondersteuning toegevoegd voor het detecteren van storingen bij het hot-pluggen van apparaten in nieuwe gastomgevingen, is de limiet voor het aantal CPU's verhoogd en is emulatie van enkele instructies, specifiek voor POWER10-processoren, geïmplementeerd. Ondersteuning voor borden op basis van Genesi/bPlan Pegasos II (pegasos2) chips is toegevoegd.
- In de RISC-V-emulator is ondersteuning toegevoegd voor het OpenTitan-platform en de virtuele GPU virtio-vga (gebaseerd op virgl).
- In de s390-emulator is ondersteuning toegevoegd voor 16e generatie CPU's en vectoruitbreidingen.
- In de x86-emulator is ondersteuning toegevoegd voor nieuwe modellen van Intel CPU's (Skylake-Client-v4, Skylake-Server-v5, Cascadelake-Server-v5, Cooperlake-v2, Icelake-Client-v3, Icelake-Server-v5, Denverton-v3, Snowridge-v3, Dhyana-v2), waarin de XSAVES-instructie is geĆÆmplementeerd. In de Q35-chipset emulator (ICH9) is ondersteuning toegevoegd voor het hot-pluggen van PCI-apparaten. De emulatie van virtualisatie-uitbreidingen, aangeboden door AMD-processoren, is verbeterd. Een optie bus-lock-ratelimit is toegevoegd om de intensiteit van busblokkeringen door het gastbesturingssysteem te beperken.
- Ondersteuning is toegevoegd voor het gebruik van NVMM als versneller voor de hypervisor, die wordt ontwikkeld door het NetBSD-project.
- In de GUI wordt ondersteuning voor wachtwoordauthenticatie bij gebruik van het VNC-protocol nu alleen ingeschakeld bij opbouw met een externe cryptografische backend (gnutls, libgcrypt of nettle).
Bron: opennet.ru
