projektets release . Som emulator möjliggör QEMU att köra program som Àr byggda för en hÄrdvaruplattform pÄ ett system med helt annan arkitektur, till exempel köra en applikation för ARM pÄ en x86-kompatibel PC. I virtualiseringslÀget Àr exekveringsprestandan av koden i en isolerad miljö nÀra den inhemska systemets prestanda genom direkt exekvering av instruktioner pÄ CPU och anvÀndning av hypervisorn Xen eller KVM-modulen.
Projektet skapades ursprungligen av Fabrice Bellard för att möjliggöra körning av Linux-exekverbara filer som sammanstÀllts för x86-plattformen pÄ arkitekturer som skiljer sig frÄn x86. Under Ären har stöd för fullstÀndig emulering lagts till för 14 hÄrdvaruarkitekturer, och antalet emulerade hÄrdvaruenheter har överstigit 400. För version 4.2 har över 2200 Àndringar gjorts av 198 utvecklare.
Nyckel , som lades till i QEMU 4.2:
- Den klassiska kodgeneratorn TCG (Tiny Code Generator) implementerar stöd för plugins för övervakning av processorinstruktioner och minnesadresser;
- I blockenhetsdrivaren (Network Block Device) har mer effektiv hantering av kopieringsförfrÄgningar vid lÀsning (copy-on-read) sÀkerstÀllts. Koden för NBD-servern har optimerats för kopiering av sparsamma bilder (med luckor). Generella förbÀttringar har gjorts i implementationen av NBD-klienten och servern;
- Prestandan för LUKS-diskar som anvÀnder AES-XTS-algoritmen har ökat;
- I vfio-pci har stöd för egenskapen 'failover_pair_id' lagts till för att underlÀtta migration av VFIO-enheter;
- I virtio-mmio har stöd för den virtio-kompatibla 2-standarden och den specifika mekanismen för packade virtuella köer definierat i specifikationen för virtio 1.1 lagts till () för datautbyte med det virtuella I/O-enheten i batchlÀge;
- I emulatorn för x86-arkitekturen har en ny typ av emulerade maskiner 'microvm' lagts till, som anvÀnder virtio-mmio istÀllet för PCI för att optimera prestandan. Möjligheten att aktivera och avaktivera VMX genom flaggor '-cpu' har implementerats. Stöd för emulering av AVX512 BFloat16-utvidgningar har lagts till. Stöd för nya CPU-modeller, Denverton (server SoC baserat pÄ Atom), Snowridge och Dhyana, sÀkerstÀllts. Stödet för macOS Hypervisor Framework ('-accel hvf') har stabiliserats;
- I emulatorn för ARM-arkitekturen har stöd för emulering av SoC Aspeed AST2600 ('ast2600-evb') lagts till. Stöd för Semihosting 2.0 med utvidgningar STDOUT_STDERR/EXIT_EXTENDED, som tillĂ„ter den emulerade enheten att anvĂ€nda stdout, stderr och stdin för att skapa filer pĂ„ vĂ€rd-sidan, har lagts till. I KVM har möjligheten att anvĂ€nda mer Ă€n 256 CPU:er implementerats och stöd för SIMD-instruktioner SVE har sĂ€kerstĂ€llts. I virtuella maskiner av typ 'â har stöd för varm anslutning av minne implementerats. Prestandan för emuleringen med hjĂ€lp av kodgeneratorn TCG har ökat.
- I emulatorn för PowerPC-arkitekturen har möjligheten att emulera POWER9-instruktionerna mffsce, mffscrn och mffscrni lagts till. I de emulerade maskinerna "powernv" har stödet för systemenheter Homer och OCC SRAM lagts till;
- I emulatorn för RISC-V-arkitekturen har alternativet "-initrd" lagts till, liksom möjligheten att se hela arkitekturens tillstÄnd i debuggern;
- I emulatorn för s390-arkitekturen har stödet för instruktioner för IEP (Instruction Execution Protection) implementerats;
- I emulatorn för 68k-arkitekturen har den initiala möjligheten att emulera Macintosh Quadro 800 och klassiska NeXTcube-system lagts till;
- I emulatorn för xtensa-arkitekturen har en ny typ av emulerade maskiner "virt" lagts till, och stödet för ABI call0 för emulering i anvÀndarutrymmet har implementerats.
KĂ€lla: opennet.ru
