Weşandina emulatora QEMU 4.0

Çê kirin serbestberdana projeyê QEMU 4.0. Wekî emulator, QEMU dihêle hûn bernameyek ku ji bo yek platformek hardware hatî berhev kirin li ser pergalek bi mîmariyek bi tevahî cihêreng bimeşînin, mînakî, serîlêdanek ARM-ê li ser PC-ya hevgirtî ya x86 bimeşînin. Di moda virtualkirinê de di QEMU de, performansa darvekirina kodê di hawîrdorek veqetandî de ji ber pêkanîna rasterast rêwerzên li ser CPU û karanîna Xen hypervisor an modula KVM nêzî pergala xwemalî ye.

Proje bi eslê xwe ji hêla Fabrice Bellard ve hate afirandin da ku kapasîteya xebitandina Linux-ê ku ji bo platforma x86 li ser mîmariyên ne-x86 hatî berhev kirin peyda bike. Di salên pêşdebirinê de, ji bo 14 mîmariyên hardware piştgirî ji bo emûlasyona tam hate zêdekirin, hejmara cîhazên hardware yên emûlkirî 400 derbas kir. Di amadekirina guhertoya 4.0 de, ji 3100 pêşdebiran zêdetirî 220 guhertin hatin çêkirin.

Qûfle serrastkirinîdi QEMU 4.0 de zêde kirin:

  • Piştgiriya ji bo dirêjkirina rêwerzên ARMv8+ li emulatora mîmariya ARM hate zêdekirin: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT û BTI. Piştgiriyek ji bo emûlkirina panelên Musca û MPS2 zêde kir. Emûlasyona ARM PMU (Yekîneya Rêvebiriya Hêzê) çêtir kirin. Ber bi platformê fezîlet şiyana karanîna zêdetirî 255 GB RAM û piştgirîkirina wêneyên u-boot bi celebê "noload" zêde kir;

  • Di emulatora mîmariya x86 de di motora bilezkirina virtualbûnê de HAX (Intel Hardware Accelerated Execution) piştgirî ji bo mêvandarên POSIX-lihevkirî yên wekî Linux û NetBSD zêde kir (berê tenê platforma Darwin piştgirî bû). Di emulatora chipset Q35 (ICH9) de ji bo benderên PCIe yên sereke, leza herî zêde (16GT/s) û hejmara xetên girêdanê (x32) ku di taybetmendiya PCIe 4.0 de hatine destnîşan kirin, naha dikarin vebijarkî werin ragihandin (ji bo ku lihevhatî were misoger kirin, 2.5GT e ji bo celebên kevntir ên makîneyên QEMU /s û x1-ê ji hêla xwerû ve hatî saz kirin. Barkirina wêneyên Xen PVH bi vebijarka "-kernel" gengaz e;
  • Emûlatora mîmariya MIPS-ê bi karanîna jeneratorê kodê TCG (Tiny Code Generator) piştgirî ji bo emûlasyona pir-mijarî zêde kiriye. Di heman demê de piştgirî ji bo emûlasyona CPU I7200 (nanoMIPS32 ISA) û I6500 (MIPS64R6 ISA), şiyana ku meriv daxwazên celebê CPU-yê bi karanîna QMP (Protokola Rêvebiriya QEMU) bişopîne, piştgirî zêde kir ji bo tomarên mîhengê SAARI û SAAR. Performansa çêtir a makîneyên virtual bi celebê Fulong 2E. Pêkanîna nûvekirî ya Yekîneya Ragihandina Interthread;
  • Di emulatora mîmariya PowerPC de, piştgirî ji bo emûlasyona kontrolkera navberê ya XIVE hatî zêdekirin, piştgirî ji bo POWER9 hate berfireh kirin, û ji bo rêza P-yê, şiyana germkirina pirên mêvandar ên PCI (PHB, pira mêvandarê PCI) hate zêdekirin. Parastina li dijî êrîşên Specter û Meltdown ji hêla xwerû ve hatî çalak kirin;
  • Piştgiriya ji bo emulasyona PCI û USB li emulatora mîmariya RISC-V hatiye zêdekirin. Pêşkêşkara nerastkirinê ya çêkirî (gdbserver) naha destnîşankirina navnîşên qeydan di pelên XML de piştgirî dike. Piştgiriya ji bo qadên mstatus TSR, TW û TVM zêde kir;
  • Emûlatora mîmariya s390 piştgirî ji bo modela CPU ya z14 GA 2 zêde kiriye, û hem jî piştgirî ji bo emûlkirina dirêjkirina rêwerzanan ji bo operasyonên xalî û vektorê. Kapasîteya pêvekirina germê li vfio-ap-ê hate zêdekirin;
  • Emûlatora pêvajoyê ya malbata Tensilica Xtensa piştgiriya SMP-ê ji bo Linux-ê çêtir kiriye û ji bo FLIX-ê (Pêvekkirina rêwerzên dirêjahiya nerm) piştgirî zêde kiriye;
  • Vebijarka '-display spice-app' li navrûya grafîkî hate zêdekirin da ku guhertoyek ji xerîdar gihandina dûr a Spice bi sêwirana mîna navbeynkariya QEMU GTK vesaz bike û bide destpêkirin;
  • Piştgiriyek ji bo kontrolkirina gihîştinê bi karanîna vebijarkên tls-authz/sasl-authz ji bo pêkanîna servera VNC zêde kir;
  • QMP (Protokola Rêvebiriya QEMU) ji bo pêkanîna fermana navendîkirî/derveyî (Derveyî bandê) piştgirî zêde kir û ji bo xebata bi cîhazên blokê re fermanên din bicîh kir;
  • Ji bo mdevên destekkirî (Intel vGPU) pêkanîna navbeynkariya EDID li VFIO-yê hatiye zêdekirin, ku dihêle hûn bi karanîna vebijarkên xres û yres çareseriya ekranê biguhezînin;
  • Amûrek nû ya 'xen-disk' ji bo Xen-ê hate zêdekirin, ku dikare serbixwe ji bo Xen PV (bêyî ku bigihîje xenstore) paşperdeya dîskê biafirîne. Performansa paşîna dîska Xen PV zêde bûye û şiyana guhertina mezinahiya dîskê hatiye zêdekirin;
  • Kapasîteyên tespîtkirin û şopandinê di cîhazên bloka torê de hatine berfireh kirin, û lihevhatina xerîdar bi pêkanînên servera NBD-ê yên bi pirsgirêk re çêtir bûye. Vebijarkên "--bitmap", "--lîst" û "--tls-authz" li qemu-nbd zêde kirin;
  • Piştgiriya ji bo moda PCI IDE li IDE-ya emûlkirî / bi cîhazê ve zêde kir;
  • Piştgiriyek ji bo karanîna algorîtmaya lzfse ji bo berhevkirina wêneyên dmg zêde kir. Ji bo formata qcow2, piştgirî ji bo girêdana pelên daneya derveyî hatî zêdekirin. Qcow2 operasyonên pakkirinê vediguhezin mijarek cihê. Piştgiriyek ji bo operasyona "blockdev-create" di wêneyên vmdk de zêde kir;
  • Amûra bloka virtio-blk ji bo operasyonên DISCARD (agahdariya li ser berdana blokan) û WRITE_ZEROES (sifirkirina rêze blokên mantiqî) piştgirî zêde kiriye;
  • Amûra pvrdma karûbarên Datagrama Rêveberiya RDMA (MAD) piştgirî dike;
  • Pêşkêş kirin guhertin, lihevhatina paşverû binpê dike. Mînakî, li şûna vebijarka "handle" di "-fsdev" û "-virtfs" de, divê hûn vebijarkên "herêmî" an "proxy" bikar bînin. Vebijarkên "-virtioconsole" (li şûna "-device virtconsole"), "-no-frame", "-clock", "-enable-hax" (li şûna "-accel hax") hatin rakirin. Amûra "ivshmem" hat rakirin (divê "ivshmem-derî" û "ivshmem-deşt" bikar bîne). Piştgiriya avakirina bi SDL1.2 hate rawestandin (hûn hewce ne ku SDL2 bikar bînin).

Source: opennet.ru

Add a comment