Release av QEMU 4.1-emulatorn

Introducerad projekt release QEMU 4.1. Som emulator låter QEMU dig köra ett program kompilerat för en hårdvaruplattform på ett system med en helt annan arkitektur, till exempel köra en ARM-applikation på en x86-kompatibel PC. I virtualiseringsläge i QEMU är prestandan för kodexekvering i en isolerad miljö nära det ursprungliga systemet på grund av direkt exekvering av instruktioner på CPU:n och användningen av Xen-hypervisorn eller KVM-modulen.

Projektet skapades ursprungligen av Fabrice Bellard för att tillåta körbara Linux-filer byggda för x86-plattformen att köras på icke-x86-arkitekturer. Under årens utveckling har fullt emuleringsstöd lagts till för 14 hårdvaruarkitekturer, antalet emulerade hårdvaruenheter har överstigit 400. Som förberedelse för version 4.1 har mer än 2000 ändringar gjorts från 276 utvecklare.

Nyckel förbättringarlagt till i QEMU 4.1:

  • Stöd för Hygon Dhyana och Intel SnowRidge CPU-modeller har lagts till i x86-arkitekturemulatorn. Lade till emulering av RDRAND-tillägget (hårdvara pseudo-slumptalsgenerator). Lade till flaggor
    md-clear och mds-no för att kontrollera attackskydd MDS (Microarchitectural Data Sampling) på Intel-processorer. Lade till möjligheten att bestämma integrerade kretstopologier med "-smp ...,dies="-flaggan. Versionering har implementerats för alla x86 CPU-modeller;

  • SSH-blockdrivrutinen har flyttats från att användas libssh2libsh;
  • Virtio-gpu-drivrutinen (virtuell GPU utvecklad som en del av projektet virgil) lagt till stöd för att flytta 2D/3D-renderingsoperationer till en extern vhost-användarprocess (till exempel vhost-user-gpu);
  • ARM-arkitekturemulatorn har lagt till stöd för tillägget ARMv8.5-RNG för att generera pseudoslumptal. Stöd för FPU-emulering har implementerats för Cortex-M-familjens chips och problem med FPU-emulering för Cortex-R5F har lösts. Ett nytt system för att ställa in byggalternativ, designat i Kconfig-stil, har föreslagits. För SoC Exynos4210 har stöd för PL330 DMA-kontroller lagts till;
  • MIPS-arkitekturemulatorn har förbättrat stöd för MSA ASE-instruktioner vid användning av big-endian-byteordning och anpassat hanteringen av division med nollfall med referenshårdvara. Prestandan för emulering av MSA-instruktioner för heltalsberäkningar och permutationsoperationer har ökat;
  • PowerPC-arkitekturemulatorn stöder nu vidarebefordran till NVIDIA V100/NVLink2 GPU:er med VFIO. För pseries har acceleration av XIVE-avbrottskontrolleremulering implementerats och stöd för hotpluggning av PCI-bryggor har lagts till. Optimering har gjorts för emulering av vektorinstruktioner (Altivec/VSX);
  • En ny hårdvarumodell har lagts till i RISC-V-arkitekturemulatorn - "spike". Lade till stöd för ISA 1.11.0. 32-bitars systemanropet ABI har förbättrats, ogiltiga instruktionshantering har förbättrats och den inbyggda debuggern har förbättrats. Tillagt stöd för CPU-topologi i enhetsträdet;
  • Arkitekturemulatorn s390 har lagt till stöd för att emulera alla vektorinstruktioner i gruppen "Vector Facility" och lagt till ytterligare element för att stödja gen15-system (inklusive extra stöd för AP Queue Interruption Facility för vfio-ap). Implementerat BIOS-stöd för uppstart från ECKD DASD bundet till gästsystemet via vfio-ccw;
  • I SPARC-arkitekturemulatorn för sun4m-system har problem med att använda flaggan "-vga none" för OpenBIOS lösts;
  • Tensilica Xtensa-familjeprocessoremulatorn inkluderar alternativ för MPU (minnesskyddsenhet) och exklusiv åtkomst;
  • Alternativet "--salvage" har lagts till i kommandot "qemu-img convert" för att inaktivera kraschen för bildkonverteringsprocessen vid I/O-fel (kan till exempel användas för att återställa delvis skadade qcow2-filer). I ett lag
    "qemu-img rebase" fungerar när en stödfil ännu inte har skapats för indatafilen;

  • Lade till möjligheten att omdirigera utdata organiserad med "semihosting"-tekniken (låter den emulerade enheten använda stdout, stderr och stdin för att skapa filer på värdsidan) till chardev-backend ("-semihosting-config enable=on,target=native ,chardev=[ ID]");
  • Lade till stöd för seSparse-underformatet i skrivskyddat läge i VMDK-blockdrivrutinen;
  • Lade till stöd för SiFive GPIO-styrenheten i GPIO-emuleringsdrivrutinen.

Källa: opennet.ru

Lägg en kommentar