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 loodi projekt Fabrice Bellardi poolt, et võimaldada x86 platvormile compileeritud Linuxi käivitatavate failide käivitamist teistel arhitektuuridel. Aastate jooksul on lisatud tugi täielikuks emulatsiooniks 14 riistvaraarhitektuurile, emuleeritavate seadmete arv on ületanud 400. QEMU 4.2 versiooni ettevalmistamisel tehti üle 2200 muudatuse 198 arendajalt.
Peamised , mis on lisatud QEMU 4.2:
- Klassikalises koodigeneraatoris TCG (Tiny Code Generator) on rakendatud pluginate tugi protsessori käskude ja mäluaadresside jälgimiseks;
- Plokkseadmete draiveris (Network Block Device) on tagatud tõhusam koopiate töötlemine lugemise ajal (copy-on-read). NBD-serveri kood on optimeeritud hõrekuvajate (empty) kopeerimiseks. NBD-klientide ja -serverite rakendustes on tehtud üldisi täiustusi;
- LUKS-diskide krüpteerimise jõudlust on suurendatud AES-XTS algoritmi kasutamisel;
- Vfio-pci-sse on lisatud omaduse «failover_pair_id» tugi VFIO seadmete migreerimise lihtsustamiseks;
- Virtio-mmio-sse on lisatud virtio-compatible 2 standardi tugi ja spetsiifikatsioonis virtio 1.1 määratletud pakitud virtuaalsete järjekordade mehhanism () andmeedastamiseks virtuaalse sisse-/väljaandeseadmega pakettrežiimis;
- x86 arhitektuuri emulaatorisse on lisatud uus emuleeritavate masinate tüüp «microvm», mis kasutab jõudluse optimeerimiseks virtio-mmio asemel PCI-d. Rakendatud on võimalus aktiveerida ja deaktiveerida VMX lippudega «-cpu». Lisatud tugi AVX512 BFloat16 laiendustele. Toetatakse uusi CPU mudeleid Denverton (serveri SoC Atom baasil), Snowridge ja Dhyana. Stabiliseeritud on macOS Hypervisor Frameworki tugi («-accel hvf»);
- ARM arhitektuuri emulaatorisse on lisatud SoC Aspeed AST2600 emulatsiooni tugi («ast2600-evb»). On lisatud Semihosting 2.0 tehnoloogia tugi STDOUT_STDERR/EXIT_EXTENDED laienditega, mis võimaldab emuleeritaval seadmel kasutada stdout, stderr ja stdin failide loomise jaoks hosti pool. KVM-is on võimalik kasutada üle 256 CPU ja toetatakse SIMD-käske SVE. Virtuaalmasinatega, mille tüüp on «», on rakendatud mälu kuumühenduse tugi. Emulatsiooni jõudlust on suurendatud TCG koodigeneraatori kasutamisel.
- PowerPC arhitektuuri emulaatoris on nüüd võimalik emuleerida POWER9 käsklusi mffsce, mffscrn ja mffscrni. Emuleeritud masinates "powernv" on lisatud tugi süsteemseadmetele Homer ja OCC SRAM;
- RISC-V arhitektuuri emulaatorisse on lisatud valik "-initrd" ja võimalus vaadata arhitektuuri täisvalstate debaidi;
- s390 arhitektuuri emulaatorisse on rakendatud IEP (Instruction Execution Protection) käskluste tugi;
- 68k arhitektuuri emulaatoris on lisatud algne võimalus emuleerida Macintosh Quadro 800 ja klassikalisi NeXTcube süsteeme;
- xtensa arhitektuuri emulaatorisse on lisatud uus emuleeritavate masinate tüüp "virt" ja rakendatud ABI call0 tugi emuleerimiseks kasutajaruumi.
Allikas: opennet.ru
