Projektet QEMU 8.2 har slÀppts. Som emulator gör QEMU det möjligt att köra program som Àr byggda för en hÄrdvaruplattform pÄ ett system med helt annan arkitektur, till exempel att köra en applikation för ARM pÄ en x86-kompatibel PC. I virtualiseringslÀge Àr prestandan för kodkörning i en isolerad miljö nÀra den hos ett hÄrdvarusystem tack vare den direkta exekveringen av instruktioner pÄ CPU:n och anvÀndningen av hypervisorn Xen eller KVM-modulen.
Projektet skapades ursprungligen av Fabrice Bellard med avsikt att möjliggöra körning av Linux-exekverbara filer som Àr byggda för x86-plattformen pÄ arkitekturer som skiljer sig frÄn x86. Under Ären av utveckling har stöd för fullstÀndig emulering lagts till för 14 hÄrdvaruarkitekturer, och antalet emulerade hÄrdvaruenheter har överstigit 400. Inför version 8.2 har över 3200 Àndringar gjorts av 238 utvecklare.
NyckelförbÀttringar som lagts till i QEMU 8.2:
- En virtio-ljudenhet har lagts till, vilket gör det möjligt att emulera ett ljudkort för inspelning och uppspelning av ljud i gÀstsystemet med hjÀlp av en ljudbackend (pulseaudio, sdl eller coreaudio) som körs pÄ vÀrdsystemet. För att emulera ljudenheten i Linux-kÀrnan för gÀstsystemet mÄste alternativet CONFIG_SND_VIRTIO vara aktiverat.
- Ett virtuellt grafiskt grÀnssnitt (VGI, Virtual Graphics Interface) rutabaga har lagts till med implementeringen av en virtuell GPU (virtio-gpu), som liknar den tidigare tillgÀngliga VirGL och ocksÄ möjliggör anvÀndning i gÀstsystemet av en virtuell GPU för 3D-rendering, utan att ge exklusiv direkt Ätkomst till den fysiska GPU:n. Koden för rutabaga har utvecklats inom ramen för projektet Android/CrosVM och möjliggör anvÀndning av emulatorn för Android-plattformen med vanlig QEMU.
- En hv-balloon-enhet har lagts till med implementeringen av protokollet för dynamisk minneshantering (Dynamic Memory) för Hyper-V, vilket gör det möjligt att ÄterlÀmna oanvÀnda minnessidor till vÀrdsystemet och begÀra fler vid minnesbrist under drift. Den nya enheten kan betraktas som ett alternativ till virtio-balloon för gÀstsystem med Windows, som anvÀnder en backend pÄ vÀrdsystemet som stöder protokollet för Dynamic Memory.
- En Universal Flash Storage-enhet har föreslagits för emulering av Flash-lagringsenheter.
- Drivern för blockenheter NBD (Network Block Device) har fÄtt stöd för ett protokollutvidgning som anvÀnder 64-bitars förskjutningar för att förbÀttra prestanda vid hantering av stora datamÀngder.
- Kommandot dump-guest-memory har fÄtt stöd för utskrift i standardformatet kdump.
- Stöd för emulering av UFS har lagts till med nya enheter ufs och ufs-lu.
- VFIO (Virtual Function I/O) har fÄtt stöd för P2P-migreringslÀge och implementerat möjlighet till dynamisk fördelning av MSI-X. Förberedelser har gjorts för övergÄngen till den nya backend IOMMUFD.
- I enheten virtio-mem har lÀget "dynamic-memslots=on" implementerats för dynamisk tilldelning av flera minnesplatser istÀllet för statisk tilldelning av en stor plats. AnvÀndning av detta lÀge minskar minnesanvÀndningen pÄ stora virtio-mem-enheter som tilldelar en liten mÀngd minne till VM.
- I emulatorn för x86-arkitektur vid emulering av Xen hypervisor-miljön har stöd för PV-konsol och nÀtverksenheter sÀkerstÀllts, samt kommandona för block- och nÀtverksenheter har förenklats. Det klassiska TCG-kodgeneratorn har fÄtt stöd för SHA-instruktioner. KVM I emulatorn för ARM-arkitektur har emulering av CPU Cortex-A710 och Neoverse-N2 implementerats. Stöd för processorutvidgningar PACQARMA3, EPAC, Pauth2, FPAC, FPACCOMBINE, TIDCP1, MOPS, HBC och HPMN0 har lagts till. För Xilinx Versal-kortet har modellering av enheter CFU/CFI och TRNG implementerats.
- I emulatorn för RISC-V-arkitektur har en uppsÀttning av vektoriserade kryptografiska instruktioner implementerats. Stöd för virtuella IRQ och IRQ-filtering har lagts till. Stödet för utvidgningar Zicond har stabiliserats. Stöd för virtualisering av AIA (Advanced Interrupt Architecture) via KVM har lagts till.
- I emulatorn för HPPA-arkitektur har emulering av 64-bitars CPU PA-RISC 2.0 och emulering av C3700-systemet, inklusive Astro-minneskontroller och PCI-broar Elroy, sÀkerstÀllts.
- I emulatorn för LoongArch-arkitektur har emulering av CPU Loongson LA132 implementerats. Stöd för utvidgningen LASX och instruktionen PRELDX har lagts till.
- I emulatorn för s390x-arkitektur har stöd för vfio-ap lagts till för genomloppning av kryptoadapter för skyddade gÀstsystem.
- I Tricore-emulatorn har stöd för TC37x-processorer (ISA 1.6.2) och instruktionerna CRCN, FTOU, FTOHP, HPTOF lagts till.
- Release av projektet QEMU 8.2 har presenterats.
KĂ€lla: opennet.ru
