Liberigo de la emulilo QEMU 4.0

Formis projekteldono QEMU 4.0. Kiel emulilo, QEMU permesas ruli programon kompilitan por unu aparataro platformo sur sistemo kun tute malsama arkitekturo, ekzemple, ruli ARM-aplikaĵon sur x86-kongrua komputilo. En virtualiga reĝimo en QEMU, la agado de koda ekzekuto en izolita medio estas proksima al la indiĝena sistemo pro rekta plenumo de instrukcioj pri la CPU kaj la uzo de la Xen-hiperviziero aŭ KVM-modulo.

La projekto estis origine kreita fare de Fabrice Bellard por disponigi la kapablon prizorgi Linuksajn ruleblajn kompilojn por la platformo x86 sur ne-x86 arkitekturoj. Tra la jaroj de evoluo, subteno por plena emulado estis aldonita por 14 aparataro-arkitekturoj, la nombro da kopiitaj aparataro superis 400. En la preparado de versio 4.0, pli ol 3100 ŝanĝoj estis faritaj de 220 programistoj.

Ŝlosilo plibonigojaldonite en QEMU 4.0:

  • Subteno por ARMv8+-instruktendaĵoj estis aldonita al la ARM-arkitektura emulilo: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT kaj BTI. Aldonita subteno por kopiado de Musca kaj MPS2-tabuloj. Plibonigita ARM PMU (Power Management Unit) emulado. Al la platformo virto aldonis la kapablon uzi pli ol 255 GB da RAM kaj subtenon por u-boot-bildoj kun la "noload" tipo;

  • En la x86-arkitektura emulilo en la virtualiga akcela motoro HAX (Intel Hardware Accelerated Execution) aldonis subtenon por POSIX-konformaj gastigantoj kiel ekzemple Linukso kaj NetBSD (antaŭe nur la Darwin-platformo estis apogita). En la emulilo de chipset Q35 (ICH9) por la ĉefaj havenoj PCIe, la maksimuma rapideco (16GT/s) kaj la nombro da konektlinioj (x32) difinitaj en la specifo PCIe 4.0 nun povas esti laŭvole deklaritaj (por certigi kongruecon, 2.5GT estas instalita defaŭlte por pli malnovaj specoj de QEMU-maŝinoj /s kaj x1). Eblas ŝargi Xen PVH-bildojn per la opcio "-kernel";
  • La MIPS-arkitektura emulilo aldonis subtenon por multfadena emulado uzante la klasikan kodgeneratoron TCG (Tiny Code Generator). Ankaŭ aldonis subtenon por kopiado de CPU I7200 (nanoMIPS32 ISA) kaj I6500 (MIPS64R6 ISA), la kapablo prilabori CPU-tippetojn uzante la QMP (QEMU Management Protocol), aldonis subtenon por SAARI kaj SAAR-konfiguracioregistroj. Plibonigita rendimento de virtualaj maŝinoj kun la Fulong 2E-tipo. Ĝisdatigita efektivigo de Interthread Communication Unit;
  • En la PowerPC-arkitektura emulilo, subteno por kopiado de la XIVE-interrompa regilo estis aldonita, subteno por POWER9 estis vastigita, kaj por la P-serio, la kapablo varmigi PCI-gastigantajn pontojn (PHB, PCI-gastigan ponton) estis aldonita. Protekto kontraŭ Spectre kaj Meltdown-atakoj estas ebligita defaŭlte;
  • Subteno por PCI kaj USB-emulado estis aldonita al la RISC-V-arkitektur-emulado. La enkonstruita sencimiga servilo (gdbserver) nun subtenas specifi registrolistojn en XML-dosieroj. Aldonita subteno por mstatus-kampoj TSR, TW kaj TVM;
  • La s390-arkitektura emulilo aldonis subtenon por la z14 GA 2 CPU-modelo, same kiel subtenon por kopiado de instrukcioj por glitkoma kaj vektoraj operacioj. La kapablo varm-konekti aparatojn estis aldonita al vfio-ap;
  • La emulilo de la procesoro de la familio Tensilica Xtensa plibonigis SMP-subtenon por Linukso kaj aldonis subtenon por la FLIX (Etendaĵo de fleksebla longo instrukciaĵo);
  • La opcio '-display spice-app' estis aldonita al la grafika interfaco por agordi kaj lanĉi version de la Spice fora alirkliento kun dezajno simila al la interfaco QEMU GTK;
  • Aldonita subteno por alirkontrolo uzante la opciojn tls-authz/sasl-authz al la VNC-servila efektivigo;
  • QMP (QEMU Management Protocol) aldonis subtenon por centralizita/ekstera (Ekstergrupo) komanda ekzekuto kaj efektivigis kromajn komandojn por labori kun blokaparatoj;
  • Efektivigo de la EDID-interfaco estis aldonita al VFIO por subtenataj mdevs (Intel-vGPUoj), permesante al vi ŝanĝi la ekranrezolucion uzante la opciojn xres kaj yres;
  • Nova "xen-diska" aparato estis aldonita por Xen, kiu povas sendepende krei diskon por Xen PV (sen aliri xenstore). La rendimento de la Xen PV-diska backend estis pliigita kaj la kapablo ŝanĝi la diskgrandecon estis aldonita;
  • Diagnozaj kaj spuraj kapabloj estis vastigitaj en retblokaj aparatoj, kaj klientkongruo kun problemaj NBD-servil-efektivigoj estis plibonigita. Aldonitaj opcioj "--bitmap", "--list" kaj "--tls-authz" al qemu-nbd;
  • Aldonita subteno por PCI IDE-reĝimo al la kopiita IDE/per aparato;
  • Aldonita subteno por uzi la lzfse-algoritmon por kunpremi dmg-bildojn. Por la formato qcow2, subteno por konekti eksterajn datumdosierojn estis aldonita. qcow2 malpakaj operacioj estas movitaj al aparta fadeno. Aldonita subteno por la operacio "blockdev-create" en vmdk-bildoj;
  • La virtio-blk bloka aparato aldonis subtenon por DISCARD (informante pri la liberigo de blokoj) kaj WRITE_ZEROES (nuligo de gamo da logikaj blokoj) operacioj;
  • La pvrdma aparato subtenas RDMA Management Datagram-servojn (MAD);
  • Submetita ŝanĝi, malobservante malantaŭan kongruecon. Ekzemple, anstataŭ la "traktilo" opcio en "-fsdev" kaj "-virtfs", vi devus uzi la "loka" aŭ "proxy" opcioj. La opcioj "-virtioconsole" (anstataŭigita per "-device virtconsole"), "-no-frame", "-clock", "-enable-hax" (anstataŭigita per "-accel hax") estis forigitaj. Forigita aparato "ivshmem" (devus uzi "ivshmem-doorbell" kaj "ivshmem-plain"). Subteno por konstrui kun SDL1.2 estas nuligita (vi devas uzi SDL2).

fonto: opennet.ru

Aldoni komenton