vydanie projektu . Ako emulátor vám QEMU umožňuje spustiť program zostavený pre jednu hardvérovú platformu na systéme s úplne odlišnou architektúrou, napríklad spustiť aplikáciu ARM na počítači kompatibilnom s x86. V režime virtualizácie v QEMU je výkon vykonávania kódu v izolovanom prostredí blízky natívnemu systému vďaka priamemu vykonávaniu inštrukcií na CPU a použitiu Xen hypervízora alebo KVM modulu.
Projekt pôvodne vytvoril Fabrice Bellard, aby poskytol možnosť spúšťať spustiteľné súbory kompilované pre platformu x86. Linux na architektúrach iných ako x86. V priebehu rokov vývoja bola pridaná podpora pre plnú emuláciu pre 14 hardvérových architektúr a počet emulovaných hardvérových zariadení presiahol 400. Pri príprave verzie 4.1 bolo vykonaných viac ako 3 200 zmien od 276 vývojárov.
Kľúč pridané v QEMU 4.1:
- Do emulátora architektúry x86 bola pridaná podpora pre modely CPU Hygon Dhyana a Intel SnowRidge. Pridaná emulácia rozšírenia RDRAND (hardvérový generátor pseudonáhodných čísel). Pridané vlajky
md-clear a mds-no na kontrolu ochrany pred útokmi (Microarchitectural Data Sampling) na procesoroch Intel. Pridaná možnosť určiť topológie integrovaných obvodov pomocou príznaku „-smp ...,dies=“. Verzia bola implementovaná pre všetky modely CPU x86; - Ovládač bloku SSH bol presunutý z používania na ;
- Ovládač virtio-gpu (virtuálny GPU vyvinutý ako súčasť projektu ) pridaná podpora pre presun 2D/3D renderovacích operácií do externého procesu vhost-user (napríklad vhost-user-gpu);
- Emulátor architektúry ARM pridal podporu pre rozšírenie ARMv8.5-RNG na generovanie pseudonáhodných čísel. Podpora emulácie FPU bola implementovaná pre čipy rodiny Cortex-M a problémy s emuláciou FPU pre Cortex-R5F boli vyriešené. Bol navrhnutý nový systém nastavenia možností zostavenia navrhnutý v štýle Kconfig. Pre SoC Exynos4210 bola pridaná podpora pre radiče PL330 DMA;
- Emulátor architektúry MIPS zlepšil podporu inštrukcií MSA ASE pri použití poradia bajtov big-endian a zosúladil spracovanie delenia nulou prípadov s referenčným hardvérom. Výkonnosť emulácie inštrukcií MSA pre celočíselné výpočty a permutačné operácie sa zvýšila;
- Emulátor architektúry PowerPC teraz podporuje preposielanie na GPU NVIDIA V100/NVLink2 pomocou VFIO. Pre pseries bola implementovaná akcelerácia emulácie XIVE prerušovacieho radiča a bola pridaná podpora pre hot plugging PCI mostov. Boli vykonané optimalizácie emulácie vektorových inštrukcií (Altivec/VSX);
- Do emulátora architektúry RISC-V bol pridaný nový hardvérový model – „spike“. Pridaná podpora pre ISA 1.11.0. Bolo vylepšené 32-bitové systémové volanie ABI, vylepšené spracovanie neplatných pokynov a vylepšený vstavaný debugger. Pridaná podpora pre topológiu CPU v strome zariadení;
- Emulátor architektúry s390 pridal podporu pre emuláciu všetkých vektorových inštrukcií skupiny „Vector Facility“ a pridal ďalšie prvky na podporu systémov gen15 (vrátane pridanej podpory pre AP Queue Interruption Facility pre vfio-ap). Implementovaná podpora BIOSu pre bootovanie z ECKD DASD naviazaného na hosťovský systém cez vfio-ccw;
- V emulátore architektúry SPARC pre systémy sun4m boli vyriešené problémy s použitím príznaku „-vga none“ pre OpenBIOS;
- Emulátor procesora rodiny Tensilica Xtensa obsahuje možnosti pre MPU (jednotka ochrany pamäte) a exkluzívny prístup;
- Do príkazu „qemu-img convert“ bola pridaná možnosť „-salvage“, ktorá zakáže zlyhanie procesu konverzie obrazu v prípade chýb I/O (môže sa napríklad použiť na obnovenie čiastočne poškodených súborov qcow2). V tíme
„qemu-img rebase“ funguje, keď ešte nebol vytvorený podporný súbor pre vstupný súbor; - Pridaná možnosť presmerovať výstup organizovaný pomocou technológie "semihosting" (umožňuje emulovanému zariadeniu používať stdout, stderr a stdin na vytváranie súborov na strane hostiteľa) do backendu chardev ("-semihosting-config enable=on,target=native ,chardev=[ ID]");
- Pridaná podpora pre podformát seSparse v režime len na čítanie v ovládači bloku VMDK;
- Pridaná podpora pre radič SiFive GPIO v ovládači emulácie GPIO.
Zdroj: opennet.ru
