QEMU 9.0 projekti vĂ€ljaanne. QEMU emulaatorina vĂ”imaldab kĂ€ivitada programmi, mis on loodud ĂŒhe riistvaraplatvormi jaoks, erineva arhitektuuriga sĂŒsteemis, nĂ€iteks rakenduse kĂ€ivitamine ARM-il x86 ĂŒhilduval PC-l. Virtuaalsetes tingimustes on QEMU koodi tĂ€itmise jĂ”udlus isoleeritud keskkonnas lĂ€hedane riistvarasĂŒsteemile tĂ€nu otse CPU-l kĂ€itatavatele kĂ€skudele ja Xen hypervisori vĂ”i Linuxi KVM mooduli vĂ”i NetBSD NVMM mooduli kasutamisele.
Alguses loodi projekt Fabrice Bellard'i (Fabrice Bellard) poolt eesmĂ€rgiga vĂ”imaldada x86 platvormil loodud Linuxi tĂ€itmisfailide kĂ€ivitamist arhitektuuridel, mis erinevad x86-st. Arenduse kĂ€igus on lisatud tĂ€iemulatsioonitoe tugi 14 riistvaraarhitektuurile, emuleeritud riistvaraseadmete arv ĂŒletas 400. QEMU 9.0 ettevalmistamise ajal tehti rohkem kui 2700 muudatust 220 arendajalt.
QEMU 9.0-sse lisatud peamised tÀiustused:
- Virtio-blk draiverisse, mis pakub virtuaalset plokiseadet virtuaalmasinad, lisatud on tugi mitmetasandilistele jĂ€rjekordadele (multiqueue), mis vĂ”imaldavad jagada jĂ€rjekorrad erinevatele plokk-seadmestikele, et tagada mitme kiirusel juurdepÀÀs mitme tuumaga sĂŒsteemides (erinevad jĂ€rjekorrad ĂŒhe ketta jaoks vĂ”ivad olla töödeldud erinevate sisend-/vĂ€ljundvoogude poolt).
- USB-salvestusseadmestikus on lisatud tugi omadustele 'backend_defaults', 'logical_block_size', 'physical_block_size', 'min_io_size', 'opt_io_size' ja 'discard_granularity'.
- GDB kaugtöötluseks mĂ”eldud gdbstub raamatukogusse on lisatud tugi fork-follow reĆŸiimile, siginfo:read operatsioonile ja sĂŒsteemi kutsungite pĂŒĂŒdmisele kasutaja ruumis.
- MĂ€lu eeljaotamise taustad on kohandatud töötama mitme lĂ”ime reĆŸiimis ja saavad nĂŒĂŒd samaaegselt töödelda pĂ€ringuid mitmest lĂ”imest.
- Virtuaalsete masinate migreerimise tööriistadesse on lisatud 'mapped-ram' reĆŸiim, mis suurendab virtuaalsete masinate snapshot'ide loomise tĂ”husust. Parandatud on nullmĂ€lu lehe tuvastamist, mis on vĂ”imaldanud oluliselt kiirendada mitteaktiivsete virtuaalsete masinate migreerimist, kui sĂŒsteem toetab multifd. VFIO (Virtual Function I/O) pĂ”histel migreerimisel on rakendatud olukorrast taastumise (checkpoint-restart) tugi.
- ESP SCSI (am53c974/dc390) seadmestiku teostus on ĂŒmber kirjutatud.
- Lisatud tugi SM4 krĂŒpteerimisalgoritmile ning vĂ”imaldatud selle kasutamine blokiseadmiku 'luks' draiveris.
- Draiverisse 'luks' on lisatud tugi LUKS-i pealkirjade salvestatud failide loomisele ja kasutamisele.
- ARM arhitektuuri emulaatoris on rakendatud toe L475E-IOT01A IoT, mp3-an536 (MPS3 AN536 firmware'iga) ja raspi4b (Raspberry Pi 4 Model B) tarkvarale. Lisatud on toed ECV (Enhanced Counter Virtualization), NV (Nested Virtualization) ja NV2 (Enhanced Nested Virtualization) protsessorite laienduste emuleerimiseks. Emulaatorite vÔimalusi on laiendatud Freescale i.MX6, Allwinner R40, Bananapi, Raspberry Pi, npcm7xx ja virt platvormide puhul.
- RISC-V arhitektuuri emulaatorisse on lisatud tugi kÀsu komplekti laiendustele Zacas, amocas, RVA22, Zaamo, Zalrsc ja Ztso. V virtuaalmasinatel RISC-V toetab SMBIOS-i. SRAT, SLIT, AIA ja PLIC toetavad ACPI-d. On uuendatud RHCT tabelite tuge.
- HPPA arhitektuuri emulaatoris, versioonis 16, on uuendatud SeaBIOS-hppa pĂŒsivara. MĂ€lu maksimaalne suurus on suurenenud 3 GB-lt 3840 MB-le. Lisatud on toetus valikule «ânodefaults».
- LoongArch arhitektuuri emulaatoris on lisatud KVM kiirusel kiirenduse tugi ning realiseeritud on vektorite laienduste tugi kÀsu komplektis LSX/LASX.
- s390x arhitektuuri emulaatorisse on lisatud CVDG, CVB, CVBY ja CVBG kÀskude tugi. Parandatud on LAE (Load Address Extended) emulatsiooni.
- 68k arhitektuuri emulaatorisse on lisatud seade nubus-virtio-mmio, mis vÔimaldab pÀÀseda virtio seadmetele masinates q800.
- On tagatud kompileerimine lipuga â-fzero-call-used-regsâ, mis kaitseb teabe lekke eest funktsioonidest ning vĂ€hendab ROP-gadgetide (Return-Oriented Programming) ehitamiseks sobivate plokkide arvu exploitides. Samuti on lisatud kompileerimine lipuga â-ftrivial-auto-var-init=zeroâ kĂ”igi virnas hoitavate muutujate automaatseks initsialiseerimiseks nullvÀÀrtusega.
- QEMU ja KVM kĂ€itamiseks on nĂŒĂŒd vajalik vĂ€hemalt Linuxi tuuma versioon 4.4. ARM-hostide puhul plaanitakse see tulevikus tĂ”sta versioonini 4.19. Toetamine 32-bitiste Windows operatsioonisĂŒsteemide kasutamiseks hostide OS-ina on lĂ”petatud.
- Lisatud on tugi OpenBSD 7.4-le.
Allikas: opennet.ru
