Ukukhutshwa kwe-emulator ye-QEMU 11.0.0

Ukukhutshwa kweprojekthi ye-QEMU 11.0.0 sele kubonisiwe. Njengomlinganiso, i-QEMU ikuvumela ukuba uqhube inkqubo ehlanganiswe kwiqonga le-hardware enye kwinkqubo enolwakhiwo olwahluke ngokupheleleyo, umzekelo, sebenzisa isicelo se-ARM kwi-PC ehambelana ne-x86. Kwimowudi ye-virtualization kwi-QEMU, ukusebenza kokwenziwa kwekhowudi kwindawo esecaleni kusondele kwinkqubo ye-hardware ngenxa yokwenziwa ngokuthe ngqo kwemiyalelo kwi-CPU kunye nokusetyenziswa kwe-Xen hypervisor okanye imodyuli ye-KVM kwi-Linux, okanye imodyuli ye-NVMM kwi. NetBSD.

Iprojekthi yaqala yadalwa nguFabrice Bellard ukunika amandla okuqhuba ukuphunyezwa kweLinux edityaniselwe iqonga le-x86 kuyilo lwe-non-x86. Kwiminyaka yophuhliso, inkxaso yokulinganisa ngokupheleleyo yongezwa kwi-architectures ye-hardware ye-14, inani lezixhobo ze-hardware ezifanisiweyo zadlula i-400. Ekulungiseleleni inguqulo ye-11.0.0, iinguqu ezingaphezu kwe-2500 zenziwe kubaphuhlisi be-237.

Uphuculo olungundoqo longezwe kwi-QEMU 11.0:

  • Π£Π΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 32-разрядных хост-систСм, которая Π±Ρ‹Π»Π° объявлСна ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ Π² Π°ΠΏΡ€Π΅Π»Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° Π² QEMU 10.0. Π’ Π΄Π΅ΠΊΠ°Π±Ρ€ΡŒΡΠΊΠΎΠΌ выпускС 10.2 Π² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π° TCG (Tiny Code Generator) Π±Ρ‹Π»Π° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ mips32 ΠΈ ppc32, Π° Π² выпускС QEMU 11.0 ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ i386, arm, ppc ΠΈ riscv32, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° чистка ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΈ сборочной систСмы ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° 32-разрядных хостах.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Β«nitroΒ» (Β«-accel nitorΒ») ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ эмулируСмых систСм Β«nitroΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² QEMU ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Π½ΠΊΠ»Π°Π²Ρ‹ Π½Π° Π±Π°Π·Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… вычислСний AWS Nitro Enclave, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для локального тСстирования Π² QEMU ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ Nitro Enclave. Π’ AWS EC2 тСхнология Nitro Enclave позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Π½ΠΊΠ»Π°Π²Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, выдСляя ΠΈΠΌ Ρ‡Π°ΡΡ‚ΡŒ своих рСсурсов.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ускоритСлСй Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ MSHV (Microsoft Hypervisor) ΠΈ WHPX (Microsoft Windows Hypervisor Platform Extensions).
  • ΠŸΡ€ΠΈ использовании Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° KVM (Β«-accel kvmΒ») прСдоставлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Intel CET (Control-flow Enforcement Technology) для примСнСния Π² oomatshini virtual Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ эксплоитов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ROP β€” Return-Oriented Programming). Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… oomatshini bokwenene, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ памяти Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ AMD SEV-SNP (Secure Encrypted Virtualization β€” Secure Nested Paging) ΠΈ Intel TDX (Trust Domain Extensions).
  • Π’ устройство VirtIO-GPU, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ GPU, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выставлСния ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ экрана для Ρ€Π°Π·Π½Ρ‹Ρ… устройств Π²Ρ‹Π²ΠΎΠ΄Π°.
  • Π’ VirtIO-GPU Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° контСкстов DRM (Direct Rendering Manager native context), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ GPU ΠΈΠ· гостСвой систСмы Π·Π° счёт прямой ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ хостовый GPU. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° контСкстов DRM Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ использовании Π½ΠΎΠ²ΠΎΠ³ΠΎ устройства virtio-gpu-gl с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ Β«drm_native_context=onΒ». Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ контСкстов Virgl ΠΈ Venus, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ API OpenGL ΠΈ Vulkan, контСкст DRM Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ UAPI ядра Linux.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования языка C++ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ ΠΊΠΎΠ΄Π° TCG (Tiny Code Generator).
  • Π’ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ NFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборки с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ libnfs 6.
  • Π’ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ curl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«force-rangeΒ» для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ использования HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Β«RangeΒ» ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ запросом с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ HEAD.
  • Π’ Π±Π»ΠΎΡ‡Π½ΠΎΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ FUSE ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ экспорта Π² синхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡˆΠΈΡ… ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ запуска Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π΄ΠΎ окончания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… FUSE-запросов. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° (iothread) ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ экспорта Π² FUSE.
  • Π’ эмулятор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CPU Intel Diamond Rapids (Β«Xeon 7Β»).
  • Π’ эмулятор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° процСссорных Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ FEAT_ASID2 ΠΈ FEAT_E2H0. Π’ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π° TCG Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° эмуляция Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ SME (Scalable Matrix Extension).
  • Π’ эмулятор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ HPPA Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° эмуляции 64-разрядных CPU c 40- ΠΈ 44-разрядным адрСсным пространством. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ SeaBIOS-hppa 24 обСспСчСна инициализация PCI-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Astro, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PCI-Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ Π½Π° 64-рядных систСмах.
  • Π’ эмуляторС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ LoongArch появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ PMU (Performance Monitoring Unit) ΠΏΡ€ΠΈ использовании Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° KVM. Π’ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π° TCG Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° эмуляция Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ LA v1.1, sc.q ΠΈ llacq/screl, Π° Ρ‚Π°ΠΊΠΆΠ΅ инструкций FRECIP ΠΈ DRECIP для вычислСния ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • Π’ эмулятор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PowerPC Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡΠ½Π°ΠΏΡ€ΡˆΠΎΡ‚ΠΎΠ².
  • Π’ эмуляторС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CPU MIPS P8700 ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ Zilsd, Zclsd, ZALASR ΠΈ Smpmpmt.
  • Π’ эмуляторС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ s390 появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с устройств virtio-blk-pci ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° эмуляции инструкции Β«DIVIDE TO INTEGERΒ».
  • ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΎ исправлСниС, Π² 50-80 Ρ€Π°Π· ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ fdmon (file descriptor monitoring) Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Β«aio=io_uringΒ» ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ систСмы Π² состоянии простоя (idle).

    umthombo: opennet.ru

Yongeza izimvo