Esitatud on QEMU 6.2 projekti vĂ€ljaanne. Emulaatorina vĂ”imaldab QEMU kĂ€ivitada programmi, mis on kompileeritud ĂŒhe riistvaraplatvormi jaoks, tĂ€iesti erineva arhitektuuriga sĂŒsteemis, nĂ€iteks kĂ€ivitada ARM-i rakendus x86-ĂŒhilduval PC-l. Virtualiseerimise reĆŸiimis on QEMU koodi tĂ€itmise tulemuslikkus isoleeritud keskkonnas lĂ€hedane riistvarasĂŒsteemile, kuna see tĂ€idab instruktsioone otse CPU-l ja kasutab Xen-i hĂŒperviisorit vĂ”i KVM-i moodulit.
Alguses loodi projekt Fabrice Bellardi poolt (Fabrice Bellard) eesmĂ€rgiga vĂ”imaldada x86 platvormile kompileeritud Linuxi tĂ€itmisfailide kĂ€ivitamist arhitektuuridel, mis erinevad x86-st. Aastate jooksul on lisatud tĂ€ieliku emulatsiooni tugi 14 riistvaraarhitektuurile, emuleeritud riistvaraseadmete arv on ĂŒletanud 400. Versiooni 6.2 ettevalmistamisel viidi lĂ€bi rohkem kui 2300 muudatust 189 arendaja poolt.
QEMU 6.2-sse lisatud peamised tÀiustused:
- Virtio-mem mehhanismi, mis vĂ”imaldab mĂ€lu kuumĂŒhendust ja -lahutust, virtuaalmasinate, lisati tĂ€ielik tugi kĂŒlalissĂŒsteemide mĂ€lu dumpidele, keskkonna migreerimise eel- ja jĂ€relkopia operatsioonidele (pre-copy/post-copy) ja kĂŒlalissĂŒsteemi taustal tehtud snapshot'ide loomisele.
- QMP-s (QEMU Machine Protocol) rakendati DEVICE_UNPLUG_GUEST_ERROR vigade töötlemine, mis tekivad kĂŒlalissĂŒsteemi poolel riistvara kuumĂŒhenduse operatsioonide ebaĂ”nnestumise korral.
- Laadimisargumentide sĂŒntaksit, mida töödeldakse klassikalise koodi genereerija TCG (Tiny Code Generator) pluginades, on laiendatud. Pluginasse «cache» on lisatud tugi mitme tuuma sĂŒsteemidele.
- X86 arhitektuuri emulaatoris on rakendatud Intel Snowridge-v4 CPU mudeli tugi. Lisatud on juurdepÀÀsu tugi Intel SGX (Software Guard eXtensions) enclavedele kĂŒlalissĂŒsteemidest, kasutades seadmeid /dev/sgx_vepc host-sĂŒsteemi kĂŒljes ja QEMU-s bĂ€kendit «memory-backend-epc». AMD SEV (Secure Encrypted Virtualization) tehnoloogia abil kaitstud kĂŒlalissĂŒsteemide jaoks on lisatud vĂ”imalus verifitseeritav otse (ilma loaderita) laadida tuuma (kasutades parameetri âkernel-hashes=onâ seadistamist âsev-guestâ konfigureerimisel).
- ARM emulaatoris Apple Silicon kiipide vÔÔrustussĂŒsteemides on rakendatud riistvarakihistuse mehhanismi âhvfâ tugi AArch64 arhitektuuri pĂ”histe kĂŒlg- sĂŒsteemide kĂ€ivitamisel. Lisatud tugi Fujitsu A64FX protsessorite emuleerimiseks. Rakendatud on uus emuleeritud masinate tĂŒĂŒp âkudo-mbcâ. Virt masinate puhul on lisatud tugi ITS (Interrupt Translation Service) emuleerimiseks ja vĂ”imalus kasutada rohkem kui 123 CPU emuleerimisreĆŸiimis. Emuleeritud masinate âxlnx-zcu102â ja âxlnx-versal-virtâ puhul on lisatud BBRAM ja eFUSE seadmete tugi. Cortex-M55 kiibil pĂ”hinevates sĂŒsteemides on mobiilse MVE protsessorite laienduste profiili tugi.
- PowerPC arhitektuuri emulaatoris on lisatud esmane tugi CPU POWER10 DD2.0 mudelile. Emuleeritud âpowernvâ masinate puhul on paremini toetatud POWER10 arhitektuur ning âpseriesâ masinatele on lisatud FORM2 PAPR NUMA kirjeldused.
- RISC-V arhitektuuri emulaatoris on lisatud Zb[abcs] kĂ€skude komplekti laienduste tugi. KĂ”ikide emuleeritud masinate puhul on lubatud kasutada âhost-userâ ja ânuma memâ valikute rakendamist. Lisatud on SiFive PWM (pulsiprolongatsioonimuundur).
- 68k arhitektuuri emulaatoris on parendatud Apple'i ettepaneku pĂ”hjal NuBus ĂŒhiku tugi, sealhulgas vĂ”imalus laadida ROM pilte ja toitaineid katkestuste slotidest.
- qemu-nbd plokkseadmestiku puhul on vaikimisi rakendatud kirjutamise operatsioonide vahemĂ€lu reĆŸiim (âwritebackâ asemel âwritethroughâ), et saavutada qemu-img kĂ€itumise vastavus. Lisatud on valik ââselinux-labelâ, et mÀÀrata SELinux Unix-socket'itele.
Allikas: opennet.ru
