Sgaoileadh an emuladair QEMU 4.0

Air a chruthachadh foillseachadh pròiseict QEMU 4.0. Mar emuladair, leigidh QEMU leat prògram a chuir ri chèile airson aon àrd-ùrlar bathar-cruaidh air siostam le ailtireachd gu tur eadar-dhealaichte, mar eisimpleir, ruith tagradh ARM air PC a tha co-chosmhail ri x86. Ann am modh virtualization ann an QEMU, tha coileanadh cur an gnìomh còd ann an àrainneachd iomallach faisg air an t-siostam dhùthchasach mar thoradh air stiùireadh dìreach air an CPU agus cleachdadh modal Xen hypervisor no KVM.

Chaidh am pròiseact a chruthachadh an toiseach le Fabrice Bellard gus leigeil le Linux executables a chaidh a thogail airson an àrd-ùrlar x86 ruith air ailtireachd neo-x86. Thar nam bliadhnaichean de leasachadh, chaidh làn thaic emulation a chuir ris airson 14 ailtireachd bathar-cruaidh, tha an àireamh de dh’ innealan bathar-cruaidh emulated air a dhol thairis air 400. Mar ullachadh airson dreach 4.0, chaidh còrr air 3100 atharrachadh a dhèanamh bho 220 leasaiche.

Prìomh leasachaidheanair a chur ris ann an QEMU 4.0:

  • Chaidh taic airson leudachadh stiùiridh ARMv8+ a chur ris an emuladair ailtireachd ARM: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT agus BTI. Taic a bharrachd airson a bhith ag aithris bùird Musca agus MPS2. Emulation ARM PMU (Aonad Riaghladh Cumhachd) nas fheàrr. Chun an àrd-ùrlar buadh chuir e ris a’ chomas barrachd air 255 GB de RAM a chleachdadh agus taic airson ìomhaighean u-boot leis an t-seòrsa “noload”;

  • Anns an emuladair ailtireachd x86 anns an einnsean luathachaidh virtualization HAX (Intel Hardware Accelerated Execution) taic a bharrachd airson luchd-aoigheachd a bha a’ gèilleadh ri POSIX leithid Linux agus NetBSD (roimhe seo cha robh ach an àrd-ùrlar Darwin a ’faighinn taic). Anns an emuladair chipset Q35 (ICH9) airson na prìomh phuirt PCIe, faodar an astar as àirde (16GT / s) agus an àireamh de loidhnichean ceangail (x32) a tha air am mìneachadh ann an sònrachadh PCIe 4.0 a-nis ainmeachadh gu roghnach (gus dèanamh cinnteach à co-chòrdalachd, tha 2.5GT air a chuir a-steach gu gnàthach airson seann sheòrsan innealan QEMU / s agus x1). Tha e comasach ìomhaighean Xen PVH a luchdachadh leis an roghainn “-kernel”;
  • Tha an emuladair ailtireachd MIPS air taic a chuir ris airson aithris ioma-snàithlean a’ cleachdadh gineadair còd clasaigeach TCG (Tiny Code Generator). Cuideachd taic a bharrachd airson aithris air CPU I7200 (nanoMIPS32 ISA) agus I6500 (MIPS64R6 ISA), an comas iarrtasan seòrsa CPU a phròiseasadh a’ cleachdadh an QMP (QEMU Management Protocol), taic a bharrachd airson clàran rèiteachaidh SAARI agus SAAR. Coileanadh nas fheàrr de innealan brìgheil leis an t-seòrsa Fulong 2E. Ùrachadh air buileachadh an Aonaid Conaltraidh Interthread;
  • Anns an emuladair ailtireachd PowerPC, chaidh taic airson a bhith ag atharrais air rianadair brisidh XIVE a chuir ris, chaidh taic airson POWER9 a leudachadh, agus airson an t-sreath P, chaidh an comas drochaidean aoigheachd PCI (PHB, drochaid aoigheachd PCI) a chuir ris. Tha dìon an aghaidh ionnsaighean Specter agus Meltdown air a chomasachadh gu bunaiteach;
  • Chaidh taic airson PCI agus aithris USB a chuir ris an emuladair ailtireachd RISC-V. Tha am frithealaiche deasbaid togte (gdbserver) a-nis a’ toirt taic do bhith a’ sònrachadh liostaichean clàraidh ann am faidhlichean XML. Taic a bharrachd airson raointean mstatus TSR, TW agus TVM;
  • Tha an emuladair ailtireachd s390 air taic a chuir ris a’ mhodail z14 GA 2 CPU, a bharrachd air taic airson a bhith ag atharrais air leudachadh stiùiridh airson gnìomhachd puing fleòdraidh agus vector. Tha an comas air innealan teth-plug air a chur ri vfio-ap;
  • Tha an emuladair pròiseasar teaghlaich Tensilica Xtensa air taic SMP a leasachadh airson Linux agus taic a bharrachd airson an FLIX (leudachadh stiùireadh fad sùbailte);
  • Chaidh an roghainn ‘-display spice-app’ a chuir ris an eadar-aghaidh grafaigeach gus dreach den neach-dèiligidh ruigsinneachd iomallach Spice a rèiteachadh agus a chuir air bhog le dealbhadh coltach ris an eadar-aghaidh QEMU GTK;
  • Taic a bharrachd airson smachd ruigsinneachd a’ cleachdadh na roghainnean tls-authz/sasl-authz gu buileachadh frithealaiche VNC;
  • Chuir QMP (QEMU Management Protocol) taic ris airson coileanadh òrdughan meadhanaichte / taobh a-muigh (Taobh a-muigh) agus chuir iad an gnìomh òrdughan a bharrachd airson a bhith ag obair le innealan bloca;
  • Chaidh buileachadh eadar-aghaidh EDID a chuir ri VFIO airson mdevs le taic (Intel vGPUs), a’ toirt cothrom dhut rùn an sgrion atharrachadh a’ cleachdadh na roghainnean xres and yes;
  • Chaidh inneal ‘xen-disk’ ùr a chuir ris airson Xen, as urrainn backend diosc a chruthachadh gu neo-eisimeileach airson Xen PV (gun a bhith a’ faighinn cothrom air xenstore). Chaidh coileanadh backend diosc Xen PV àrdachadh agus chaidh an comas meud diosc atharrachadh a chuir ris;
  • Chaidh comasan breithneachaidh agus lorg a leudachadh ann an innealan bloca lìonra, agus chaidh co-chòrdalachd teachdaiche le buileachadh frithealaiche NBD duilgheadas a leasachadh. Chuir sinn roghainnean “--bitmap”, “--list” agus “-tls-authz” ri qemu-nbd;
  • Taic a bharrachd airson modh PCI IDE ris an IDE emulated / tro inneal;
  • Taic a bharrachd airson a bhith a’ cleachdadh an algairim lzfse gus ìomhaighean dmg a dhlùthadh. Airson cruth qcow2, chaidh taic airson faidhlichean dàta taobh a-muigh a cheangal a chur ris. Tha gnìomhachd dì-phacadh qcow2 air a ghluasad gu snàithlean air leth. Taic a bharrachd airson gnìomhachd “blockdev-create” ann an ìomhaighean vmdk;
  • Tha an inneal bloc virtio-blk air taic a chuir ris airson gnìomhachd DISCARD (fiosrachadh mu bhith a’ leigeil a-mach blocaichean) agus WRITE_ZEROES (gun raon de bhlocaichean loidsigeach);
  • Tha an inneal pvrdma a 'toirt taic do sheirbheisean RDMA Management Datagram (MAD);
  • Air a chuir a-steach atharrachadh, a 'briseadh co-fhreagarrachd air ais. Mar eisimpleir, an àite an roghainn "làimhseachadh" ann an "-fsdev" agus "-virtfs", bu chòir dhut na roghainnean "ionadail" no "proxy" a chleachdadh. Chaidh na roghainnean “-virtioconsole” (air an cuir “-device virtconsole” nan àite), “-no-frame”, “-clock”, “-enable-hax” (air a chuir na àite “-accel hax”) a thoirt air falbh. Inneal air a thoirt air falbh "ivshmem" (bu chòir "ivshmem-doorbell" agus "ivshmem-plain" a chleachdadh). Tha taic airson togail le SDL1.2 air a stad (feumaidh tu SDL2 a chleachdadh).

Source: fosgailtenet.ru

Cuir beachd ann