Udgivelse af emulatoren QEMU 7.2

QEMU 7.2 projektets udgivelse er blevet præsenteret. Som emulator tillader QEMU at køre programmer, der er samlet til én hardwareplatform, på et system med en helt anden arkitektur, for eksempel at køre en ARM-applikation på en x86-kompatibel pc. I virtualiseringstilstand er ydeevnen for kodeudførelse i et isoleret miljø tæt på hardware-systemet takket være direkte udførelse af instruktioner på CPU'en og anvendelse af hypervisoren Xen eller KVM-modulet.

Projektet blev oprindeligt skabt af Fabrice Bellard med det formål at muliggøre kørsel af eksekverbare filer, der er samlet til x86-platformen, på arkitekturer, der ikke er x86. Gennem årene er der blevet tilføjet support til fuld emulering for 14 hardwarearkitekturer, og antallet af emulerede hardwareenheder har oversteg 400. I forberedelsen af version 7.2 er der foretaget mere end 1800 ændringer af 205 udviklere.

Nøgleforbedringer tilføjet i QEMU 7.2:

  • I x86-arkitekturens emulator er der tilføjet support til AVX-, AVX2-, F16C-, FMA3- og VAES-instruktioner i den klassiske code generator TCG, samt der er foretaget ydeevneoptimering relateret til brugen af SSE-instruktioner. For KVM er der tilføjet support til mekanismen til at spore udgang fra den virtuelle maskine ('notify vmexit'), som giver mulighed for at omgå fejl i CPU'en, som kan føre til hang-up.
  • I ARM-emulatoren er support til CPU Cortex-A35 og processorudvidelserne ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (hardwarekontrol af adgangsflag og 'dirty' tilstand) og E0PD (forebyggelse af EL0-adgang til delte adressekartoteker) implementeret.
  • I LoongArch-emulatoren er der tilføjet support til fw_cfg DMA, hotplugging af hukommelse og emulering af TPM-enheder (Trusted Platform Module).
  • I OpenRISC-arkitekturens emulator er platformen 'virt' implementeret til enhedstest og brug i systemer til kontinuerlig integration. Der er implementeret support til multitrådet udførelse af den klassiske code generator TCG (Tiny Code Generator).
  • I RISC-V-arkitekturens emulator er det muligt at indlæse firmware fra pflash i S-tilstand (S-mode) i de emulerede maskiner 'virt'. Arbejdet med device tree er forbedret.
  • I emulatoren af arkitekturen 390x er der support for MSA5-udvidelsen (Message-Security-Assist Extension 5 med instruktionen PRNO til generering af pseudo-random tal), KIMD/KLM-instruktioner (implementering af SHA-512) og udvidet zPCI-fortolkning for gæstesystemer baseret på KVM-hypervisoren.
  • I backendene til arbejdet med hukommelse er der sikret forudgående tildeling af hukommelse under hensyntagen til NUMA-arkitekturen.
  • Kontrollen af overskrifterne for krypterede blok-enheder LUKS er blevet styrket, og det er nu muligt at oprette LUKS-billeder i macOS.
  • I backend 9pfs, der muliggør brug af Plan 9 netværksfilsystemet for adgang fra en virtuel maskine til en anden, er der sket en overgang til brug af GHashTable hashing i ID-tabellen, hvilket i visse situationer har ført til en ydelsesforbedring på 6-12 gange.
  • Nye netdev-bagsider stream og dgram er blevet tilføjet.
  • I agenten til gæstesystemer baseret på ARM-arkitekturen er der tilføjet support for FreeBSD.
  • I GUI-bygningerne for macOS er det muligt at inkludere brugergrænseflader baseret på Cocoa og SDL/GTK i én eksekverbar fil.
  • Den indbyggede submodul 'slirp' er blevet fjernet, og det anbefales at bruge det systembibliotek, der hedder libslirp.
  • På grund af manglende mulighed for test er supporten til værtsystemer med 32-bit MIPS-processorer, der bruger 'Big endian' byteordning, blevet erklæret forældet.

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