Liberigo de la emulilo QEMU 4.1

Enkondukita projekteldono QEMU 4.1. 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.1, pli ol 2000 ŝanĝoj estis faritaj de 276 programistoj.

Ŝlosilo plibonigojaldonite en QEMU 4.1:

  • Subteno por Hygon Dhyana kaj Intel SnowRidge CPU-modeloj estis aldonita al la x86-arkitektura emulilo. Aldonita emulado de la etendaĵo RDRAND (aparataro pseŭdo-hazarda nombrogeneratoro). Aldonitaj flagoj
    md-clear kaj mds-no por kontroli atakan protekton MDS (Mikroarkitektura Datuma Sampling) sur Intel-procesoroj. Aldonis la kapablon determini integracirkvitajn topologiojn uzante la flagon "-smp ...,dies=". Versiado estis efektivigita por ĉiuj x86 CPU-modeloj;

  • La SSH-bloka ŝoforo estis movita de uzado libssh2 sur libsh;
  • La virtio-gpu-ŝoforo (virtuala GPU evoluigita kiel parto de la projekto virgil) aldonis subtenon por movi 2D/3D bildigajn operaciojn al ekstera vhost-uzantprocezo (ekzemple, vhost-user-gpu);
  • La ARM-arkitektura emulilo aldonis subtenon por la etendaĵo ARMv8.5-RNG por generi pseŭdo-hazardajn nombrojn. Subteno por FPU-emulado estis efektivigita por Cortex-M-familioblatoj kaj problemoj kun FPU-emulado por Cortex-R5F estis solvitaj. Nova sistemo por agordi konstruopciojn, dizajnitan en la stilo Kconfig, estis proponita. Por SoC Exynos4210, subteno por PL330 DMA-regiloj estis aldonita;
  • La MIPS-arkitektura emulilo plibonigis subtenon por MSA ASE-instrukcioj dum uzado de big-endian-bajta ordo kaj vicigis la uzadon de dividado per nul kazoj kun referenca aparataro. La agado de emulado de MSA-instrukcioj por entjerkalkuloj kaj permutaj operacioj estis pliigita;
  • La PowerPC-arkitektura emulilo nun subtenas plusendi al NVIDIA V100/NVLink2 GPU-oj uzante VFIO. Por pserio, akcelo de XIVE-interrompa regilo-emulado estis efektivigita kaj subteno por varma ŝtopado de PCI-pontoj estis aldonita. Optimumigoj estis faritaj al la emulado de vektoraj instrukcioj (Altivec/VSX);
  • Nova aparatara modelo estis aldonita al la RISC-V-arkitektura emulilo - "spike". Aldonita subteno por ISA 1.11.0. La 32-bita sistemvoko ABI estis plibonigita, nevalida instrukciotraktado estis plibonigita, kaj la enkonstruita erarserĉilo estis plibonigita. Aldonita subteno por CPU-topologio en aparatarbo;
  • La s390-arkitektura emulilo aldonis subtenon por kopii ĉiujn vektorajn instrukciojn de la grupo "Vector Facility" kaj aldonis pliajn elementojn por subteni gen15-sistemojn (inkluzive de aldonita subteno por la AP Queue Interruption Facility por vfio-ap). Efektivigita BIOS-subteno por ekfunkciigo de ECKD DASD ligita al la gastsistemo per vfio-ccw;
  • En la SPARC-arkitektura emulilo por sun4m-sistemoj, problemoj kun uzado de la flago "-vga none" por OpenBIOS estis solvitaj;
  • La emulilo de procesoro de la familio Tensilica Xtensa inkluzivas eblojn por MPU (memorprotekta unuo) kaj ekskluziva aliro;
  • La opcio "-salvage" estis aldonita al la komando "qemu-img convert" por malebligi la kraŝon de la bilda konverta procezo en kazo de I/O-eraroj (ekzemple, povas esti uzata por restarigi parte difektitajn qcow2-dosierojn). En teamo
    “qemu-img rebase” funkcias kiam subtena dosiero ankoraŭ ne estas kreita por la eniga dosiero;

  • Aldonis la kapablon redirekti produktaĵon organizitan uzante la "semihosting" teknologion (permesas al la kopiita aparato uzi stdout, stderr kaj stdin por krei dosierojn ĉe la gastiganta flanko) al la chardev backend ("-semihosting-config enable=on,target=indiĝena). ,chardev=[ ID]");
  • Aldonita subteno por la subformato seSparse en nurlegebla reĝimo en la VMDK-bloka ŝoforo;
  • Aldonita subteno por la SiFive GPIO-regilo en la GPIO-emuladŝoforo.

fonto: opennet.ru

Aldoni komenton