Dumating ang QEMU 5.2 na may mga pagpapabuti para sa RISC-V, pagbabago ng tagatala at marami pa

QEMU

Inilabas na ang QEMU 5.2 , at ang bagong bersyong ito ay may kasamang mahigit 3200 na pagbabago mula sa 216 na developer , kabilang ang live na suporta sa paglipat para sa RISC-V, eksperimental na suporta para sa RISC-V hypervisor, suporta para sa mas maraming board, at marami pang iba.

Para sa mga hindi pamilyar sa QEMU, ito ay isang emulator na nagbibigay-daan sa iyong magpatakbo ng isang programang nilikha para sa isang hardware platform sa isang sistema na may ganap na kakaibang arkitektura , halimbawa, ang pagpapatakbo ng isang ARM application sa isang x86 compatible na PC.

Sa virtualization mode sa QEMU, ang pagganap ng pagpapatakbo ng code sa isang nakahiwalay na kapaligiran ay malapit sa sistema ng hardware dahil sa direktang pagpapatupad ng mga tagubilin sa CPU at paggamit ng Xen hypervisor o KVM module.

Pangunahing mga bagong tampok ng QEMU 5.2

Nagbago na ang sistema ng pagbuo; ang pag-compile ng QEMU ay nangangailangan na ngayon ng pag-install ng ninja toolkit.

Nagdagdag ng suporta para sa block device driver upang magamit ang prosesong qemu-storage-daemon sa background bilang backend para sa vhost-user-blk, pati na rin ang isang bagong QMP command na 'block-export-add', na papalit sa command na 'nbd-server-add' at nagbibigay ng suporta para sa 'qemu-storage-daemon'.

Para sa mga imaheng qcow2, idinagdag ang suporta para sa mga pinalawak na rehistro ng L2, na nagpapahintulot sa espasyo na ilaan ng mga hindi kumpletong grupo (mga subcluster). Upang paganahin ang L2 kapag lumilikha ng isang imahe, dapat mong tukuyin ang opsyong "extended_l2 = on".

Kapansin-pansin din ang pinahusay na suporta para sa paggamit ng qemu bilang isang NBD client, dahil binabawasan nito ang bilang ng mga sitwasyon na humahantong sa mga timeout kapag nagpapalitan ng data sa network, na nagiging sanhi ng guest blocking. Ang Qemu-nbd ay nagbibigay ng kakayahang tukuyin ang maraming opsyon na '-B name' upang tukuyin ang maraming dirty bitmap nang sabay-sabay.

Ang isa pang mahalagang pagbabago ay ang bagong high-performance migration mode na may naka-encrypt na paglilipat ng data gamit ang TLS at multifd. Ang default na limitasyon sa bandwidth ng migration ay itinaas sa 1 Gbps.

Idinagdag ang parameter ng migration na 'block-bitmap-mapping', na nagbibigay-daan para sa mas detalyadong kontrol sa kung aling mga bitmap ang ililipat habang nagmi-migrate. Gumagana ang parameter na ito kahit na magkaiba ang mga hostname sa pinagmulan sa receiving end.

Bukod pa rito, idinagdag ang mga bagong tawag na 'calc-dirty-rate' at 'query-dirty-rate' upang mahulaan ang rate ng pag-update habang nasa migration, isinasaalang-alang ang load na nauugnay sa mga operasyon sa RAM.

Makakahanap din tayo ng suporta para sa mga mp2-an386, mp2-an500, raspi3ap (Raspberry Pi 3 model A+), raspi0 (Raspberry Pi Zero), raspi1ap (Raspberry Pi A+) at npcm750-evb/quanta-gsj boards.

Para sa arkitekturang AArch32, ipinatupad ang suporta para sa mga extension ng ARMv8.2 FEAT_FP16 (medium precision flaoting point).

Panghuli, nabanggit din ang mga bagong opsyon sa virtiofsd para sa pagkontrol sa pag-render ng mga pinalawak na pangalan ng xattr attribute sa guest system, ang hiwalay na koneksyon ng mga partisyon na may iba't ibang mount point sa host system, at para rin sa pagtukoy ng mekanismo ng sandbox isolation na alternatibo sa pivot_root.

At suporta sa live migration sa RISC-V architecture emulator, pati na rin ang experimental hypervisor support para sa RISC-V na na-update sa bersyon 0.6.1. Nagdagdag ng suporta para sa NUMA sockets sa mga virt/Spike system.

Kabilang sa iba pang mahahalagang pagbabago sa bagong bersyong ito ang:

  • Ang mga panauhing-panauhin, panauhin ng bisita, at panauhing-ssh- {get, add-alisin} -ang mga utos na pinahintulutan na key ay naidagdag sa ahente ng panauhin ng QEMU (qemu-ga).
  • Nagdagdag ng suporta para sa kvm-steal-time based accounting.
  • Sinusuportahan ng emulator ng HPPA arkitektura ang pag-boot ng NetBSD at napakatandang pamamahagi ng Linux, tulad ng Debian 0.5 at 0.6.1.
  • Ang emulator ng PowerPC arkitektura ay napabuti ang suporta para sa spacing na tinukoy ng gumagamit para sa bilang ng topology.
  • Ang emulator ng s390 ng arkitektura para sa KVM ay nagdagdag ng suporta para sa mga tagubilin sa diagnostic na 0x318.
  • Ang klasikong code generator na TCG (Tiny Code Generator) ay nagpapatupad ng suporta para sa karagdagang mga tagubilin sa z14.
  • Sa mga aparatong vfio-pci, ang impormasyon tungkol sa aktwal na pagpapaandar ng computer ay ibinibigay sa halip na mga tinulad na tampok.
  • Ang emulator ng Xtensa arkitektura ay nagdaragdag ng suporta para sa DFPU coprocessor na may solong at dobleng katumpakan na lumulutang na mga opcode.

Idagdag bilang ginustong mapagkukunan sa Google