Keluaran projek QEMU 6.2 telah dibentangkan. Sebagai emulator, QEMU membenarkan anda menjalankan program yang disusun untuk satu platform perkakasan pada sistem dengan seni bina yang sama sekali berbeza, contohnya, menjalankan aplikasi ARM pada PC yang serasi dengan x86. Dalam mod maya dalam QEMU, prestasi pelaksanaan kod dalam persekitaran terpencil adalah hampir dengan sistem perkakasan disebabkan oleh pelaksanaan langsung arahan pada CPU dan penggunaan Xen hypervisor atau modul KVM.
Projek ini pada asalnya dicipta oleh Fabrice Bellard untuk membolehkan laksana Linux dibina untuk platform x86 berjalan pada seni bina bukan x86. Sepanjang tahun pembangunan, sokongan emulasi penuh telah ditambah untuk 14 seni bina perkakasan, bilangan peranti perkakasan yang dicontohi telah melebihi 400. Sebagai persediaan untuk versi 6.2, lebih daripada 2300 perubahan telah dibuat daripada 189 pembangun.
Penambahbaikan utama ditambah dalam QEMU 6.2:
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ virtio-mem, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π³ΠΎΡΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΌΠ°ΡΠΈΠ½Π°ΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π°ΠΌΠΏΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (pre-copy/post-copy) ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½Π°ΠΏΡΠΎΡΠΎΠ² Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
- Π QMP (QEMU Machine Protocol) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ DEVICE_UNPLUG_GUEST_ERROR, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΠ΅Π² ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π³ΠΎΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
- Π Π°ΡΡΠΈΡΠ΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ Π² ΠΏΠ»Π°Π³ΠΈΠ½Π°Ρ ΠΊ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΊΠΎΠ΄Π° TCG (Tiny Code Generator). Π ΠΏΠ»Π°Π³ΠΈΠ½ Β«cacheΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ x86 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ CPU Intel Snowridge-v4. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π°Π½ΠΊΠ»Π°Π²Π°ΠΌ Intel SGX (Software Guard eXtensions) ΠΈΠ· Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ /dev/sgx_vepc Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π±ΡΠΊΠ΅Π½Π΄ Β«memory-backend-epcΒ» Π² QEMU. ΠΠ»Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π·Π°ΡΠΈΡΠ°Π΅ΠΌΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ AMD SEV (Secure Encrypted Virtualization), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΠ³ΠΎ (Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°) Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΄ΡΠ° (Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° βkernel-hashes=onβ Π² βsev-guestβ).
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ ARM Π½Π° Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ ΡΠΈΠΏΠΎΠΌ Apple Silicon ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Β«hvfΒ» ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ AArch64. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Fujitsu A64FX. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ Β«kudo-mbcΒ». ΠΠ»Ρ ΠΌΠ°ΡΠΈΠ½ βvirtβ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΡΠ»ΡΡΠΈΠΈ ITS (Interrupt Translation Service) ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ 123 CPU Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΌΡΠ»ΡΡΠΈΠΈ. ΠΠ»Ρ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ Β«xlnx-zcu102Β» ΠΈ Β«xlnx-versal-virtΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ² BBRAM ΠΈ eFUSE. ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ ΡΠΈΠΏΠ° Cortex-M55 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ MVE.
- Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ PowerPC Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ CPU POWER10 DD2.0. ΠΠ»Ρ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ Β«powernvΒ» ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ POWER10, Π° Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½ βpseriesβ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ FORM2 PAPR NUMA.
- Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Zb[abcs]. ΠΠ»Ρ Π²ΡΠ΅Ρ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ Β«host-userΒ» ΠΈ Β«numa memΒ». ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SiFive PWM (Pulse-width modulator).
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ 68k ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Apple ΡΠΈΠ½Ρ NuBus, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΠΠ£ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ»ΠΎΡΠΎΠ² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ.
- Π Π±Π»ΠΎΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ qemu-nbd ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΡΠ½ ΡΠ΅ΠΆΠΈΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ (Β«writebackΒ» Π²ΠΌΠ΅ΡΡΠΎ Β«writethroughΒ») Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ qemu-img. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βselinux-labelΒ» Π΄Π»Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠΊ SELinux Unix-ΡΠΎΠΊΠ΅ΡΠ°ΠΌ.
Sumber: opennet.ru