Paglabas ng QEMU 7.2 emulator

Ang paglabas ng proyektong QEMU 7.2 ay ipinakita. Bilang isang emulator, pinapayagan ka ng QEMU na magpatakbo ng isang program na pinagsama-sama para sa isang platform ng hardware sa isang system na may ganap na naiibang arkitektura, halimbawa, magpatakbo ng isang ARM application sa isang x86-compatible na PC. Sa virtualization mode sa QEMU, ang pagganap ng code execution sa isang nakahiwalay na kapaligiran ay malapit sa isang hardware system dahil sa direktang pagpapatupad ng mga tagubilin sa CPU at ang paggamit ng Xen hypervisor o KVM module.

Ang proyekto ay orihinal na nilikha ni Fabrice Bellard upang magbigay ng kakayahang magpatakbo ng mga Linux executable na pinagsama-sama para sa x86 platform sa mga hindi x86 na arkitektura. Sa paglipas ng mga taon ng pag-unlad, ang suporta para sa buong pagtulad ay idinagdag para sa 14 na arkitektura ng hardware, ang bilang ng mga emulated na hardware na aparato ay lumampas sa 400. Sa paghahanda ng bersyon 7.2, higit sa 1800 mga pagbabago ang ginawa mula sa 205 na mga developer.

Mga pangunahing pagpapahusay na idinagdag sa QEMU 7.2:

  • Ang x86 emulator sa klasikong TCG code generator ay nagdagdag ng suporta para sa AVX, AVX2, F16C, FMA3 at VAES na mga tagubilin, pati na rin ang mga pag-optimize ng pagganap na nauugnay sa paggamit ng mga tagubilin sa SSE. Para sa KVM, idinagdag ang suporta para sa isang mekanismo para sa pagsubaybay sa mga paglabas ng virtual machine (β€œnotify vmexit”), na nagbibigay-daan sa iyong i-bypass ang mga error sa CPU na maaaring humantong sa mga hang.
  • Sinusuportahan ng ARM emulator ang Cortex-A35 CPU at mga extension ng processor na ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (hardware control of access flag at "marumi" na estado) at E0PD (pinipigilan ang pag-access ng EL0 sa mga nahati na mapa ng address).
  • Ang LoongArch emulator ay nagdaragdag ng suporta para sa fw_cfg DMA, hot-plug memory, at TPM (Trusted Platform Module) device emulation.
  • Ang OpenRISC architecture emulator ay nagpapatupad ng 'virt' platform para sa pagsubok ng mga device at paggamit ng mga ito sa tuluy-tuloy na mga sistema ng pagsasama. Ang suporta para sa multi-threaded execution ng classic TCG (Tiny Code Generator) code generator ay ipinatupad.
  • Ang emulator ng RISC-V architecture sa 'virt' emulated machine ay may kakayahang mag-load ng firmware mula sa pflash sa S-mode. Pinahusay na trabaho sa device tree.
  • Ang 390x emulator ay nagbibigay ng suporta para sa MSA5 (Message-Security-Assist Extension 5 na may PRNO na pagtuturo para sa pagbuo ng mga pseudo-random na numero), mga tagubilin sa KIMD/KLM (pagpapatupad ng SHA-512) at pinalawig na interpretasyon ng zPCI para sa mga guest system batay sa KVM hypervisor. .
  • Ang mga backend para sa pagtatrabaho sa memorya ay nagbibigay ng pre-allocation ng memory na isinasaalang-alang ang NUMA architecture.
  • Ang header checking ng LUKS encrypted block device ay pinalakas, at ang kakayahang gumawa ng LUKS na mga imahe sa macOS ay naidagdag.
  • Ang 9pfs backend, na nagbibigay-daan sa paggamit ng Plan 9 network file system upang ma-access ang isang virtual machine patungo sa isa pa, ay lumipat sa paggamit ng GHashTable hash sa identifier table, na sa ilang sitwasyon ay humantong sa 6-12 beses na pagtaas ng performance.
  • Nagdagdag ng bagong netdev backends stream at dgram.
  • Ang suporta ng FreeBSD ay idinagdag sa ahente para sa mga bisitang nakabatay sa ARM.
  • Ang mga build ng GUI para sa macOS ay nagbibigay ng kakayahang magsama ng mga interface batay sa Cocoa at SDL/GTK sa isang executable na file.
  • Ang built-in na submodule na "slirp" ay tinanggal, sa halip ay inirerekomenda na gamitin ang libslirp system library.
  • Dahil sa kakulangan ng kakayahan sa pagsubok, ang suporta para sa mga host system na may 32-bit na mga processor ng MIPS na gumagamit ng Big Endian byte order ay hindi na ginagamit.

Pinagmulan: opennet.ru

Magdagdag ng komento