Weşandina emulatora QEMU 4.1

Nasandin serbestberdana projeyê QEMU 4.1. 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.1 de, ji 2000 pêşdebiran zêdetirî 276 guhertin hatin çêkirin.

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

  • Piştgiriya ji bo modelên CPU Hygon Dhyana û Intel SnowRridge li emulatora mîmariya x86 hate zêdekirin. Emûlasyona dirêjkirina RDRAND (çêkerê jimareya pseudo-random a hardware) lê zêde kir. Alên zêde kirin
    md-zelal û mds-na ji bo kontrolkirina parastina êrîşê MDS (Nimûneya Daneyên Mîkroarchitectural) li ser pêvajoyên Intel. Kapasîteya destnîşankirina topolojiyên çerxa yekbûyî bi karanîna ala "-smp ...,dies=" zêde kir. Versiyon ji bo hemî modelên CPU yên x86 hatine bicîh kirin;

  • Ajokara bloka SSH ji kar hat derxistin libssh2 li ser libsh;
  • Ajokera virtio-gpu (GPU virtual ku wekî beşek projeyê hatî pêşve xistin virgil) ji bo veguheztina operasyonên renderkirina 2D/3D li pêvajoyek vhost-bikarhênerê derveyî (mînak, vhost-user-gpu) piştgirî zêde kir;
  • Emûlatora mîmariya ARM ji bo çêkirina hejmarên pseudo-random piştgirî ji dirêjkirina ARMv8.5-RNG zêde kiriye. Piştgiriya ji bo emûlasyona FPU ji bo çîpên malbata Cortex-M hatîye bicîh kirin û pirsgirêkên bi emmulasyona FPU ya ji bo Cortex-R5F hatine çareser kirin. Pergalek nû ji bo danîna vebijarkên avakirinê, ku bi şêwaza Kconfig hatî sêwirandin, hate pêşniyar kirin. Ji bo SoC Exynos4210, piştgirî ji bo kontrolkerên PL330 DMA hate zêdekirin;
  • Emûlatora mîmariya MIPS-ê dema ku fermana byte-a-endiya mezin bikar tîne piştgirî ji bo rêwerzên MSA ASE çêtir kiriye û birêvebirina dabeşkirinê ji hêla sifir bûyeran ve bi hardware referansê re li hev kiriye. Performansa emûlasyona talîmatên MSA-yê ji bo hesabên yekjimar û operasyonên veguheztinê zêde bûye;
  • Emûlatora mîmariya PowerPC naha şandina GPU-yên NVIDIA V100/NVLink2 bi karanîna VFIO piştgirî dike. Ji bo pseran, bilezkirina emûlasyona kontrolkera navberê ya XIVE hatîye bicîh kirin û piştgirî ji bo vegirtina germ a pirên PCI hatî zêdekirin. Optimîzasyon ji bo emûlasyona talîmatên vektorê (Altivec/VSX) hatine çêkirin;
  • Modelek nû ya hardware li emulatora mîmarî ya RISC-V hate zêdekirin - "spike". Piştgiriya ji bo ISA 1.11.0 zêde kir. Banga pergala 32-bit ABI hate baştir kirin, guheztina rêwerzên nederbasdar hate zêdekirin, û debugger-ya çêkirî hate baştir kirin. Piştgiriya ji bo topolojiya CPU di dara cîhazê de zêde kir;
  • Emûlatora mîmariya s390 ji bo emûlkirina hemî rêwerzên vektorê yên koma "Vector Facility" piştgirî lê zêde kiriye û hêmanên din jî zêde kiriye ji bo piştgirîkirina pergalên gen15 (tevî piştgirîya lêzêdekirî ji bo Dezgeha Navberê ya AP Queue ji bo vfio-ap). Piştgiriya BIOS-ê ji bo bootkirina ji ECKD DASD ve girêdayî ye ku bi pergala mêvan ve bi vfio-ccw ve hatî bicîh kirin;
  • Di emulatora mîmariya SPARC ya ji bo pergalên sun4m de, pirsgirêkên karanîna ala "-vga none" ji bo OpenBIOS-ê hatine çareser kirin;
  • Emûlatora pêvajoyê ya malbata Tensilica Xtensa vebijarkên ji bo MPU (yekîneya parastina bîranînê) û gihîştina taybetî vedihewîne;
  • Vebijarka "-salvage" li fermana "veguhertina qemu-img" hat zêdekirin da ku di bûyera xeletiyên I/O de têkçûna pêvajoya veguhertina wêneyê neçalak bike (mînak, dikare were bikar anîn ji bo vegerandina pelên qcow2 yên qismî zirardar). Di tîmekê de
    "qemu-img rebase" dema ku pelek piştgir hîna ji bo pelê têketinê nehatiye çêkirin dixebite;

  • Qabiliyeta beralîkirina hilberîna ku bi karanîna teknolojiya "semihosting" hatî organîzekirin (destûrê dide cîhaza emulkirî ku stdout, stderr û stdin bikar bîne ku pelan li milê mêvandar biafirîne) li pişta chardev ("-semihosting-config enable=on,target=native" zêde kir ,chardev=[ ID]");
  • Piştgiriya ji bo binformat seSparse di moda tenê xwendinê de di ajokera bloka VMDK de zêde kir;
  • Piştgiriya ji bo kontrolkerê SiFive GPIO di ajokera emûlasyona GPIO de zêde kir.

Source: opennet.ru

Add a comment