Bol sa predstavený projekt QEMU 6.1. Ako emulátor umožňuje spustiť program zostavený pre jednu hardvérovú platformu na systéme s úplne odlišnou architektúrou, napríklad spustiť aplikáciu pre ARM na PC kompatibilnom s x86. V režime virtualizácie je výkon vykonávania kódu v izolovanom prostredí blízky hardvérovej sústave vďaka priamemu vykonávaniu inštrukcií na CPU a zapojeniu hypervízora Xen alebo modulu KVM.
Projekt pôvodne vytvoril Fabrice Bellard, aby umožnil spúšťanie súborov Linux skompilovaných pre architektúru x86 na architektúrach odlišných od x86. V priebehu rokov sa pridala podpora plnej emulácie pre 14 hardvérových architektúr a počet emulovaných hardvérových zariadení presiahol 400. Pri príprave verzie 6.1 bolo vykonaných viac ako 3000 zmien od 221 vývojárov.
Kľúčové vylepšenia pridané v QEMU 6.1:
- Do QMP (QEMU Machine Protocol) bola pridaná príkaz "blockdev-reopen" na zmenu nastavení už vytvoreného blokového zariadenia.
- Ako prioritný kryptodriver bol použitý gnutls, ktorý prekonáva ostatné ovládače z pohľadu výkonu. Predtým navrhovaný predvolený ovládač založený na libgcrypt bol presunutý do sekcie možností, zatiaľ čo ovládač na báze nettle zostal ako záložná voľba, používaná v prípade, že GnuTLS a Libgcrypt nie sú k dispozícii.
- Do I2C emulátora bola pridaná podpora PMBus a I2C multiplexorov (pca9546, pca9548).
- Podpora pluginov k klasickému generátoru kódu TCG (Tiny Code Generator) je predvolene zapnutá. Boli pridané nové pluginy execlog (žurnál vykonávania) a cache modelling (simulácia správania cache L1 v CPU).
- Do ARM emulátora bola pridaná podpora platforiem založených na čipoch Aspeed (rainier-bmc, quanta-q7l1), npcm7xx (quanta-gbs-bmc) a Cortex-M3 (stm32vldiscovery). Bola pridaná podpora hardvérových motorov šifrovania a hashovania poskytovaných v čipoch Aspeed. Bola pridaná podpora emulácie inštrukcií SVE2 (vrátane bfloat16), operátorov na násobenie matíc a príkazov na vyprázdnenie vyrovnávacej pamäte asociatívneho prekladu (TLB).
- V emulátore architektúry PowerPC pre emulované stroje „pseries“ bola pridaná podpora pre detekciu porúch pri horúcom pripojení zariadení v nových hosťujúcich prostrediach, zvýšený limit na počet CPU a bola implementovaná emulácia niektorých inštrukcií špecifických pre procesory POWER10. Pridaná podpora platforiem na báze čipov Genesi/bPlan Pegasos II (pegasos2).
- V emulátore RISC-V bola implementovaná podpora platformy OpenTitan a virtuálneho GPU virtio-vga (na báze virgl).
- V emulátore s390 bola pridaná podpora 16. generácie CPU a vektorových rozšírení.
- V emulátore x86 bola pridaná podpora nových modelov CPU Intel (Skylake-Client-v4, Skylake-Server-v5, Cascadelake-Server-v5, Cooperlake-v2, Icelake-Client-v3, Icelake-Server-v5, Denverton-v3, Snowridge-v3, Dhyana-v2), v ktorých bola implementovaná inštrukcia XSAVES. V emulátore čipsetu Q35 (ICH9) bola implementovaná podpora horúceho pripojenia PCI zariadení. Vylepšená emulácia rozšírení virtualizácie poskytovaných v procesoroch AMD. Pridaná možnosť bus-lock-ratelimit na obmedzenie intenzity zamykania zbernice hosťujúcim systémom.
- Pridaná podpora pre použitie ako akcelerátora pre hypervízor NVMM, rozvíjaný projektom NetBSD.
- V GUI podpora autentifikácie heslom pri použití protokolu VNC sa teraz zapína iba pri zostavení s externým kryptografickým backendom (gnutls, libgcrypt alebo nettle).
Zdroj: opennet.ru
