projekti väljalaskmine . QEMU emulaatorina võimaldab käitada rakendusi, mis on loodud ühele riistvaraarhitektuurile, täiesti erineva arhitektuuriga süsteemis, näiteks käivitada ARM-rakendus x86-ühilduvas arvutis. Virtuaalrežiimis on QEMU koodi täitmise jõudlus isoleeritud keskkonnas lähedane kohaliku süsteemi jõudlusele CPU otse käsu täitmise ja Xen hüperviisori või KVM mooduli kasutamise tõttu.
Alguses lõi projekti Fabrice Bellard eesmärgiga võimaldada x86 platvormile kokku pandud Linuxi täitmisfailide käivitamist erinevates arhitektuurides. Arenduse käigus on lisatud täieõiguslik emulatsioon 14 riistvara arhitektuuri jaoks, emuleeritavaid seadmeid on üle 400. Versiooni 5.1 ettevalmistamisel tehti üle 2500 muudatuse 235 arendajalt.
Peamised , mis on QEMU 5.1-ga lisatud:
- Lisatud on CPU emulatsiooni tugi arhitektuuri . Rakendatud on Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560),
Arduino Mega (ATmega1280) ja Arduino UNO (ATmega328P) toetamine. - ARM arhitektuuri emulaatorisse on lisatud kuuma mälu lahtiühendamise (hot-unplug) ja nvdimm mälu kuumutamise võimalus ACPI-ga külalissüsteemide jaoks. Toetatakse ARMv8.2 ja . Samuti on tagatud sonorapass-bmc plaadi tugi.
- MIPS arhitektuuri emulaatorisse on lisatud tugi Loongson 3A CPU-dele (R1 ja R4). Parandatud on FPU ja MSA käsuliidese emulatsiooni toimivust.
- RISC-V arhitektuuri emulaatorisse on lisatud tugi SiFive E34 ja Ibex CPU-dele. Toetatakse HiFive1 revB ja OpenTitan plaate. Spike masinatele on lisatud tugi rohkem kui ühele CPU-le.
- PowerPC arhitektuuri emulaatoris on nüüd külalissüsteemides vigade taastamise tugi FWNMI abil.
- s390 arhitektuuri jaoks on lisatud KVM tugi kaitstud virtualiseerimiseks (turvalise töötamise režiim).
- x86 arhitektuuri emulaatori rajatised on vähendatud Windowsi kohandamata külalissüsteemide virtualiseerimise kulusid, pakkudes emuleeritavate seadmete ACPI WAET (Windows ACPI Emulated Device Table) tabelit. Parandatud on kiirenduse toetust macOS-ile.
- Süsteemi blokeerimisseadme draiveris on lisatud tugi 2MB loogiliste ja füüsiliste plokkidega virtuaalsete salvestusseadmete jaoks.
- Lisatud on tugi QEMU-sse salajaste võtmete ja paroolide edastamisele Linuxi tuuma keyring kaudu, kasutades uut objekti tüüpi „secret-keyring”.
- qcow2 formaadi jaoks on rakendatud zstd kokkusurumise algoritmi tugi.
- Qemu-img utiliid on lisatud uus käsk 'bitmap', et manipuleerida pidevate bitmapidega qcow2 failides. Qemu-img-is on implementeeritud ka LUKS (keyslot) võtmete haldamine ning pakutud täiendavaid võimalusi käskude 'map' (—start-offset, —max-length) ja 'convert' (—bitmaps) jaoks. Käsku 'measure' on lisatud teave pidevate bitmapide suuruse kohta qcow2 failides.
- NVMe draiveris on nüüd toe saanud pidev mälu piirkond (Persistent Memory Region), mis ilmus NVMe 1.4 spetsifikatsioonis.
- Virtios on külalisüsteemide jaoks klassikalise TCG (Tiny Code Generator) koodigeneraatori kasutamise võimalus. , sealhulgas virtiofsd. vhost-useris on lisatud laiendus VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS, mis võimaldab registreerida rohkem kui 8 RÄNDI slotti.
Allikas: opennet.ru
