Vrystelling van die QEMU 6.0-emulator

Die vrystelling van die QEMU 6.0-projek word aangebied. As 'n emulator laat QEMU jou toe om 'n program wat vir een hardewareplatform gebou is op 'n stelsel met 'n heeltemal ander argitektuur te laat loop, byvoorbeeld om 'n ARM-toepassing op 'n x86-versoenbare rekenaar uit te voer. In die virtualisasiemodus in QEMU is die prestasie van kode-uitvoering in 'n geïsoleerde omgewing naby aan 'n hardewarestelsel as gevolg van die direkte uitvoering van instruksies op die SVE en die gebruik van die Xen-hypervisor of KVM-module.

Die projek is oorspronklik deur Fabrice Bellard geskep om Linux-uitvoerbare programme wat vir die x86-platform gebou is, op nie-x86-argitekture te laat loop. Oor die jare van ontwikkeling is volledige emulasie-ondersteuning bygevoeg vir 14 hardeware-argitekture, die aantal nagebootste hardeware-toestelle het 400 oorskry. Ter voorbereiding vir weergawe 6.0 is meer as 3300 veranderinge van 268 ontwikkelaars aangebring.

Sleutelverbeterings bygevoeg in QEMU 6.0:

  • Die NVMe-beheerder-emulator word in ooreenstemming gebring met die NVMe 1.4-spesifikasie en is toegerus met eksperimentele ondersteuning vir gesoneer naamruimtes, multipad I/O en end-tot-end data-enkripsie op die skyf.
  • Eksperimentele opsies "-machine x-remote" en "-device x-pci-proxy-dev" bygevoeg om toestelemulasie na eksterne prosesse te skuif. In hierdie modus word slegs emulasie van die lsi53c895 SCSI-adapter tans ondersteun.
  • Bygevoeg eksperimentele ondersteuning vir die skep van foto's van RAM-inhoud.
  • Het 'n FUSE-module bygevoeg vir die uitvoer van bloktoestelle, sodat jy 'n deel van die toestand van enige bloktoestel wat in die gasstelsel gebruik word, kan monteer. Uitvoer word uitgevoer deur die QMP-opdrag block-export-add of deur die "--export"-opsie in die qemu-storage-daemon-hulpprogram.
  • Die ARM-emulator voeg ondersteuning by vir die ARMv8.1-M 'Helium'-argitektuur en Cortex-M55-verwerkers, sowel as die uitgebreide ARMv8.4 TTST-, SEL2- en DIT-instruksies. Bygevoeg ondersteuning vir ARM-borde mps3-an524 en mps3-an547 ook. Bykomende toestel-emulasie is geïmplementeer vir xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx en sabrelite-borde.
  • Vir ARM, in emulasiemodusse op die stelsel- en gebruikersomgewingsvlakke, is ondersteuning vir die ARMv8.5 MTE (MemTag, Memory Tagging Extension)-uitbreiding geïmplementeer, wat jou toelaat om etikette aan elke geheuetoewysingsbewerking te bind en 'n wyserkontrole te organiseer wanneer toegang tot geheue, wat met die korrekte merker geassosieer moet word. Die uitbreiding kan gebruik word om die uitbuiting van kwesbaarhede te blokkeer wat veroorsaak word deur toegang tot reeds vrygestelde geheueblokke, bufferoorvloei, toegang voor inisialisering en gebruik buite die huidige konteks.
  • Die 68k-argitektuur-emulator het ondersteuning bygevoeg vir 'n nuwe tipe nagebootste masjien "virt", wat virtio-toestelle gebruik om werkverrigting te optimaliseer.
  • Die x86-emulator voeg die vermoë by om AMD SEV-ES (Secure Encrypted Virtualization) tegnologie te gebruik om verwerkerregisters wat in die gasstelsel gebruik word te enkripteer, wat die inhoud van die registers ontoeganklik maak vir die gasheeromgewing, tensy die gasstelsel uitdruklik toegang daartoe verleen.
  • Die klassieke TCG (Tiny Code Generator) kodegenerator, wanneer x86-stelsels nageboots word, implementeer ondersteuning vir die PKS (Protection Keys Supervisor) meganisme, wat gebruik kan word om toegang tot bevoorregte geheuebladsye te beskerm.
  • 'n Nuwe tipe nagebootste masjiene "virt" is bygevoeg tot die MIPS argitektuur emulator met ondersteuning vir Chinese Loongson-3 verwerkers.
  • In die PowerPC-argitektuur-emulator vir nagebootste masjiene "powernv", is ondersteuning vir eksterne BMC-beheerders bygevoeg. Vir nagebootste pseries-masjiene word kennisgewing van mislukkings verskaf wanneer gepoog word om geheue en SVE te verwyder.
  • Bygevoeg ondersteuning vir die nabootsing van Qualcomm Hexagon verwerkers met DSP.
  • Die klassieke TCG (Tiny Code Generator)-kodegenerator ondersteun macOS-gasheeromgewings op stelsels met die nuwe Apple M1 ARM-skyfie.
  • Die RISC-V-argitektuur-emulator vir Microchip PolarFire-borde ondersteun QSPI NOR-flits.
  • Die Tricore-emulator ondersteun nou die nuwe TriBoard-bordmodel, wat die Infineon TC27x SoC naboots.
  • Die ACPI-emulator bied die vermoë om name toe te ken aan netwerkadapters in gasstelsels wat onafhanklik is van die volgorde waarin hulle aan die PCI-bus gekoppel is.
  • virtiofs het ondersteuning bygevoeg vir die FUSE_KILLPRIV_V2 opsie om gaste se prestasie te verbeter.
  • VNC het ondersteuning bygevoeg vir wyserdeursigtigheid en ondersteuning vir die skaal van skermresolusie in virtio-vga, gebaseer op die venstergrootte.
  • QMP (QEMU Machine Protocol) het ondersteuning bygevoeg vir asinchroniese parallelle toegang wanneer rugsteuntake uitgevoer word.
  • Die USB-emulator het die vermoë bygevoeg om verkeer wat gegenereer word wanneer jy met USB-toestelle werk, te stoor in 'n aparte pcap-lêer vir daaropvolgende inspeksie in Wireshark.
  • Bygevoeg nuwe QMP-opdragte laai-kiekie, stoor-kiekie en verwyder-kiekie om qcow2-kiekie te bestuur.
  • Kwesbaarhede CVE-2020-35517 en CVE-2021-20263 is in virtiofs reggestel. Die eerste probleem laat toegang tot die gasheeromgewing vanaf die gasstelsel toe deur 'n spesiale toestellêer in die gasstelsel te skep deur 'n bevoorregte gebruiker in 'n gids wat met die gasheeromgewing gedeel word. Die tweede probleem word veroorsaak deur 'n fout in die hantering van uitgebreide eienskappe in die 'xattrmap'-opsie en kan veroorsaak dat skryftoestemmings geïgnoreer word en voorregte-eskalasie binne die gasstelsel.

Bron: opennet.ru

Voeg 'n opmerking