Tika projekt QEMU 6.2 izlaidums. Kā emulator, QEMU ļauj palaist programmu, kas izveidota vienai aparatūras platformai, uz sistēmas ar pilnīgi atšķirīgu arhitektūru, piemēram, izpildīt ARM lietojumprogrammu uz x86 saderīga datora. Virtuālizācijas režīmā QEMU kodu izpildes veiktspēja izolētā vidē ir tuvu aparatūras sistēmai, pateicoties tiešai instrukciju veikšanai uz CPU un hipervizora Xen vai KVM moduļa izmantošanai.
Sākotnēji projektu izveidoja Fabris Bellars (Fabrice Bellard) ar mērķi nodrošināt iespēju izpildīt Linux izpildfailus, kas izveidoti x86 platformai, arhitektūrās, kas atšķiras no x86. Izstrādes gadu laikā tika pievienota pilnīga atbalsta ieviešana 14 aparatūras arhitektūrām, bet emulēto aparatūras ierīču skaits pārsniedza 400. Sagatavojot versiju 6.2, tika veiktas vairāk nekā 2300 izmaiņas no 189 izstrādātājiem.
Galvenās uzlabojumi, kas pievienoti QEMU 6.2:
- Virtio-mem mehānismā, kas ļauj veikt karsto atmiņas pievienošanu un atvienošanu, virtuālajām mašīnām, tika pievienota pilnīga viesu sistēmu atmiņas krājumu atbalsta, operāciju kopēšanas pirms un pēc vides migrēšanas (pre-copy/post-copy) un viesu sistēmas fonā veidošanas snapshot atbalsta.
- QMP (QEMU Machine Protocol) ir ieviesta DEVICE_UNPLUG_GUEST_ERROR kļūdu apstrāde, kas rodas viesu sistēmas pusē, ja rodas kļūmes karsto aparatūras pievienošanas operāciju izpildē.
- Tika paplašināta uzlādes argumentu sintakse, ko apstrādā klasiskā koda ģeneratora TCG (Tiny Code Generator) spraudņi. Spraudņi "cache" pievieno atbalstu vairākprocessoru sistēmām.
- X86 arhitektūras emulatorā ir ieviesta Intel Snowridge-v4 CPU modeļa atbalsts. Tika pievienots atbalsts Intel SGX (Software Guard eXtensions) enkla piekļuvei no viesu sistēmām, izmantojot ierīci /dev/sgx_vepc uz hosta sistēmas un backend "memory-backend-epc" QEMU. Viesu sistēmām, kuras tiek aizsargātas, izmantojot AMD SEV (Secure Encrypted Virtualization) tehnoloģiju, tika pievienota iespēja verifikējami tieši (neizmantojot ielādētāju) sākt kodu (ieslēdzot parametru ‘kernel-hashes=on’ ‘sev-guest’).
- ARM emulator support for hardware acceleration mechanism 'hvf' has been implemented on host systems with Apple Silicon chips when launching guest systems based on the AArch64 architecture. Support for the emulation of Fujitsu A64FX processor models has been added. A new type of emulated machine 'kudo-mbc' has been implemented. Support for emulating ITS (Interrupt Translation Service) and the ability to use more than 123 CPUs in emulation mode has been added for 'virt' machines. Support for BBRAM and eFUSE devices has been introduced for emulated machines 'xlnx-zcu102' and 'xlnx-versal-virt'. For systems based on the Cortex-M55 chip, support for the mobile profile of MVE processor extensions has been provided.
- The PowerPC architecture emulator has added initial support for CPU model POWER10 DD2.0. For emulated 'powernv' machines, support for the POWER10 architecture has been improved, while for 'pseries' machines, FORM2 PAPR NUMA descriptions have been added.
- The RISC-V architecture emulator has added support for the Zb[abcs] instruction set extensions. For all emulated machines, the use of 'host-user' and 'numa mem' options has been allowed. Support for SiFive PWM (Pulse-width modulator) has been introduced.
- The 68k architecture emulator has improved support for the NuBus bus proposed by Apple, including the ability to boot ROM images and support for interrupt slots.
- In the qemu-nbd block device, the write operation caching mode ('writeback' instead of 'writethrough') is enabled by default to match the behavior of qemu-img. An option '--selinux-label' has been added to set SELinux labels for Unix sockets.
Avots: opennet.lv
