Lanseringen av projektet QEMU 11.0.0 presenterades. QEMU, som emulator, möjliggör körning av program som Àr byggda för en hÄrdvaruplattform pÄ ett system med helt annan arkitektur, till exempel att köra ett ARM-program pÄ en x86-kompatibel PC. I virtualiseringslÀge Àr prestationskapaciteten för kodexekvering i en isolerad miljö nÀra den för ett hÄrdvarusystem tack vare direkt exekvering av instruktioner pÄ CPU:n och anvÀndning av hypervisorer som Xen eller KVM-modulen i Linux, eller NVMM-modulen i NetBSD.
Projektet skapades ursprungligen av Fabrice Bellard för att möjliggöra körning av körbara filer för Linux byggda för x86-plattformar pÄ arkitekturer andra À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. I förberedelsen av version 11.0.0 gjordes mer Àn 2500 Àndringar av 237 utvecklare.
Nyckel förbÀttringar som lagts till QEMU 11.0:
- Stödet för 32-bitars vÀrdsystem har tagits bort, vilket förklarades som förÄldrat i april förra Äret i QEMU 10.0. I den decemberutgÄvan 10.2 avbröts stödet för mips32 och ppc32-plattformarna i TCG-kodgeneratorn (Tiny Code Generator), och i QEMU 11.0 togs de ÄterstÄende plattformarna i386, arm, ppc och riscv32 bort, samt att kodbasen och byggsystemet stÀdades frÄn komponenter för arbete pÄ 32-bitars vÀrdar.
- En virtuell accelerator "nitro" ("-accel nitro") har implementerats och en ny typ av emulerade system "nitro" har introducerats, vilket möjliggör körning av isolerade enheter i QEMU baserat pÄ AWS Nitro Enclave-teknologin för konfidentiell databehandling, till exempel för lokal testning av Nitro Enclave-miljöer i QEMU. I AWS EC2 möjliggör Nitro Enclave-teknologin körning av inbÀddade, isolerade enheter i en virtuell maskin för arbete med konfidentiella data, och tilldelar dem en del av sina resurser.
- Stödet för virtualiseringsacceleratorerna MSHV (Microsoft Hypervisor) och WHPX (Microsoft Windows Hypervisor Platform Extensions) har förbÀttrats.
- Vid anvĂ€ndning av KVM-hypervisorn ("-accel kvm") tillhandahĂ„lls stöd för virtualisering av Intel CET (Control-flow Enforcement Technology) för tillĂ€mpning i virtuella maskiner skydd mot exploateringsmetoder som anvĂ€nder tekniker för retursorienterad programmering (ROP â Return-Oriented Programming). Stöd för omstart av konfidentiella enheter har ocksĂ„ lagts till. virtuella maskiner, som anvĂ€nder AMD SEV-SNP (Secure Encrypted Virtualization â Secure Nested Paging) och Intel TDX (Trust Domain Extensions) för att kryptera minnet.
- I VirtIO-GPU-enheten, som möjliggör funktionalitet för virtuell GPU, har funktionen lagts till för att stÀlla in olika skÀrmupplösningar för olika utdataenheter.
- I VirtIO-GPU har stöd för DRM (Direct Rendering Manager native context) lagts till, vilket möjliggör ökad prestanda för den virtuella GPU:n frÄn gÀstsystemet genom direktöverföring av kommandon till den verkliga vÀrd-GPU:n. Stödet för DRM-konton aktiveras nÀr det nya enheten virtio-gpu-gl anvÀnds med alternativet "drm_native_context=on". Till skillnad frÄn Virgl- och Venus-konton, som fungerar pÄ API-nivÄerna OpenGL och Vulkan, implementeras DRM-kontot pÄ UAPI-nivÄn i Linux-kÀrnan.
- Möjlighet att anvÀnda sprÄket C++ för att utveckla plugins till TCG (Tiny Code Generator) har lagts till.
- I blockdrivrutinen för NFS har stöd för byggnation med biblioteket libnfs 6 lagts till.
- I blockdrivrutinen för curl har alternativet "force-range" lagts till för att tvinga anvÀndning av HTTP-headern "Range" vid nedladdning av bilder utan att först kontrollera dess stöd med en separat HEAD-begÀran.
- I blockdrivrutinen för FUSE har hanteringen av exportoperationer i synkront lÀge stÀngts av, vilket ledde till att starten av den virtuella maskinen blockerades tills andra FUSE-begÀrningar var behandlade. Möjlighet att anvÀnda flera in-/utgÄngstrÄdar (iothread) vid export till FUSE har lagts till.
- I emulatorn för x86-arkitekturen har stöd för CPU:er frÄn Intel Diamond Rapids ("Xeon 7") lagts till.
- I emulatorn för ARM-arkitekturen har processorutvidgningarna FEAT_ASID2 och FEAT_E2H0 lagts till. I TCG (Tiny Code Generator) har emuleringen av utvidgningarna SME (Scalable Matrix Extension) implementerats.
- I emulatorn för HPPA-arkitekturen har stöd för emulering av 64-bitars CPU:er med 40- och 44-bitars adressrymden lagts till. Genom SeaBIOS-hppa 24 har PCI-kontrollern Astro initierats, vilket möjliggör anvÀndning av PCI-grafikkort pÄ 64-bitars system.
- I emulatorn för LoongArch-arkitekturen har möjlighet till migrering av PMU (Performance Monitoring Unit) lagts till nÀr hypervisorn KVM anvÀnds. I TCG (Tiny Code Generator) har emuleringen av utvidgningarna LA v1.1, sc.q och llacq/screl, samt instruktionerna FRECIP och DRECIP för att berÀkna inversa vÀrden implementerats.
- I emulatorn för PowerPC-arkitekturen har stöd för snapshots lagts till.
- I emulatort av arkitekturen RISC-V har stöd för CPU MIPS P8700 och instruktionerna Zilsd, Zclsd, ZALASR och Smpmpmt implementerats.
- I emulatort av arkitekturen s390 har stöd för boot frÄn virtio-blk-pci-enheter lagts till och emuleringen av instruktionen "DIVIDE TO INTEGER" har implementerats.
- En korrigering har antagits som minskar fördröjningarna med 50-80 gÄnger vid anvÀndning av fdmon (file descriptor monitoring) i lÀget "aio=io_uring" och nÀr systemet Àr i idle-lÀge.
KĂ€lla: opennet.ru
