Udgivelsen af emulatoren QEMU 4.2

Præsenteret projektudgivelse QEMU 4.2. Som emulator tillader QEMU at køre et program, der er bygget til en hardwareplatform, på et system med en helt anden arkitektur, for eksempel at køre en applikation til ARM på en x86-kompatibel PC. I virtualiseringsmode er ydelsen af kodeudførelse i et isoleret miljø tæt på den nativ system ved direkte udførelse af instruktioner på CPU'en og ved brug af hypervisoren Xen eller KVM-modulet.

Projektet blev oprindeligt startet af Fabrice Bellard med det formål at muliggøre kørsel af eksekverbare filer til Linux, der er bygget til x86-platformen, på arkitekturer, der adskiller sig fra x86. Gennem årene er der blevet tilføjet støtte til fuld emulering for 14 hardware-arkitekturer, og antallet af emulerede hardware-enheder har oversteget 400. I forberedelsen af version 4.2 er der blevet foretaget mere end 2200 ændringer fra 198 udviklere.

Nøglepunkter forbedringer, der er tilføjet i QEMU 4.2:

  • Den klassiske kodegenerator TCG (Tiny Code Generator) har fået støtte til plugins til overvågning af processorinstruktioner og adresser i hukommelsen;
  • I blokenhedsdrevet NBD (Network Block Device) er der sikret mere effektiv håndtering af kopianmodninger ved læsning (copy-on-read). Koden for NBD-serveren er optimeret til at kopiere sparse billeder (med blanke områder). Der er blevet foretaget generelle forbedringer af implementeringen af NBD-klienten og serveren;
  • Ydelsen ved kryptering af LUKS-diske med AES-XTS-algoritmen er forbedret;
  • I vfio-pci er der tilføjet støtte til egenskaben «failover_pair_id» for at lette migrering af VFIO-enheder;
  • I virtio-mmio er der tilføjet støtte til standarden virtio-compatibel 2 og en mekanisme til pakkede virtuelle køer, der er defineret i specifikationen af virtio 1.1 (virtqueue) til datadeling med virtuelle input/output-enheder i batch-mode;
  • I emuleringen af x86-arkitekturen er der tilføjet en ny type emulerede maskiner «microvm», der bruger virtio-mmio i stedet for PCI for at optimere ydeevnen. Muligheden for at tænde og slukke VMX via flagene «-cpu» er blevet implementeret. Støtte til emulering af AVX512 BFloat16-udvidelser er blevet tilføjet. Der er sikret støtte til nye CPU-modeller Denverton (server SoC baseret på Atom), Snowridge og Dhyana. Støtten til macOS Hypervisor Framework («-accel hvf») er blevet stabiliseret;
  • I emuleringen af ARM-arkitekturen er der tilføjet støtte til emulering af SoC Aspeed AST2600 («ast2600-evb»). Støtte til Semihosting 2.0-teknologi med udvidelserne STDOUT_STDERR/EXIT_EXTENDED, som gør det muligt for den emulerede enhed at bruge stdout, stderr og stdin til at oprette filer på siderne af værten, er blevet tilføjet. I KVM er der tilføjet mulighed for at bruge mere end 256 CPU'er og sikret støtte til SIMD-instruktioner SVE. I virtuelle maskiner af typen «virt» er der implementeret støtte til hot-plugging af hukommelse. Ydeevnen ved emulering er blevet forbedret ved brug af TCG-kodegeneratoren.
  • I emulatoren til PowerPC-arkitekturen er der tilføjet mulighed for at emulere POWER9-instruktionerne mffsce, mffscrn og mffscrni. I de emulerede "powernv"-maskiner er der tilføjet understøttelse af systemenhederne Homer og OCC SRAM;
  • I emulatoren til RISC-V-arkitekturen er indstillingen "-initrd" blevet tilføjet samt muligheden for at se den fulde tilstand af arkitekturen i debuggeren;
  • I emulatoren til s390-arkitekturen er understøttelsen af IEP (Instruction Execution Protection)-instruktioner blevet implementeret;
  • I emulatoren til 68k-arkitekturen er den indledende mulighed for at emulere Macintosh Quadro 800 og klassiske NeXTcube-systemer blevet tilføjet;
  • I emulatoren til xtensa-arkitekturen er der tilføjet en ny type emulerede maskiner "virt" og understøttelse af ABI call0 til emulering i brugerens rum.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster