Vydanie emulátora QEMU 6.0

Bolo predstavené vydanie projektu QEMU 6.0. Ako emulátor vám QEMU umožňuje spustiť program zostavený pre jednu hardvérovú platformu na systéme s úplne odlišnou architektúrou, napríklad spustiť aplikáciu ARM na počítači kompatibilnom s x86. Vo virtualizačnom režime v QEMU je výkon vykonávania kódu v izolovanom prostredí blízky výkonu hardvérového systému vďaka priamemu vykonávaniu inštrukcií na CPU a použitiu hypervízora Xen alebo modulu KVM.

Projekt pôvodne vytvoril Fabrice Bellard, aby umožnil spustiteľným súborom Linuxu vytvoreným pre platformu x86 bežať na architektúrach iných ako x86. V priebehu rokov vývoja pribudla plná podpora emulácie pre 14 hardvérových architektúr, počet emulovaných hardvérových zariadení prekročil 400. V rámci príprav na verziu 6.0 bolo vykonaných viac ako 3300 zmien od 268 vývojárov.

Kľúčové vylepšenia pridané v QEMU 6.0:

  • Emulátor radiča NVMe je v súlade so špecifikáciou NVMe 1.4 a je vybavený experimentálnou podporou pre zónované menné priestory, viaccestné I/O a end-to-end šifrovanie dát na disku.
  • Pridané experimentálne možnosti „-machine x-remote“ a „-device x-pci-proxy-dev“ na presun emulácie zariadenia do externých procesov. V tomto režime je momentálne podporovaná iba emulácia lsi53c895 SCSI adaptéra.
  • Pridaná experimentálna podpora pre vytváranie snímok obsahu pamäte RAM.
  • Pridaný modul FUSE na export blokových zariadení, ktorý vám umožňuje pripojiť časť stavu akéhokoľvek blokového zariadenia používaného v hosťujúcom systéme. Export sa vykonáva pomocou príkazu QMP block-export-add alebo pomocou možnosti „--export“ v obslužnom programe qemu-storage-daemon.
  • Emulátor ARM pridáva podporu pre architektúru ARMv8.1-M „Helium“ a procesory Cortex-M55, ako aj rozšírené inštrukcie TTST, SEL8.4 a DIT ARMv2. Pridaná podpora pre ARM dosky mps3-an524 a mps3-an547. Dodatočná emulácia zariadenia bola implementovaná pre dosky xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx a sabrelite.
  • Pre ARM bola v emulačných režimoch na úrovni systému a používateľského prostredia implementovaná podpora rozšírenia ARMv8.5 MTE (MemTag, Memory Tagging Extension), ktorá vám umožňuje viazať značky na každú operáciu alokácie pamäte a organizovať kontrolu ukazovateľa, keď prístup k pamäti, ktorá musí byť spojená so správnou značkou . Rozšírenie možno použiť na blokovanie zneužitia zraniteľností spôsobených prístupom k už uvoľneným blokom pamäte, pretečeniu vyrovnávacej pamäte, prístupom pred inicializáciou a používaním mimo aktuálneho kontextu.
  • Emulátor architektúry 68k pridal podporu pre nový typ emulovaného stroja „virt“, ktorý využíva zariadenia virtio na optimalizáciu výkonu.
  • Emulátor x86 pridáva možnosť využívať technológiu AMD SEV-ES (Secure Encrypted Virtualization) na šifrovanie registrov procesorov používaných v hosťujúcom systéme, vďaka čomu je obsah registrov nedostupný pre hostiteľské prostredie, pokiaľ k nim hosťovský systém výslovne neudelí prístup.
  • Klasický generátor kódu TCG (Tiny Code Generator) pri emulácii x86 systémov implementuje podporu pre mechanizmus PKS (Protection Keys Supervisor), ktorý možno použiť na ochranu prístupu k privilegovaným pamäťovým stránkam.
  • Do emulátora architektúry MIPS bol pridaný nový typ emulovaných strojov „virt“ s podporou čínskych procesorov Loongson-3.
  • V emulátore architektúry PowerPC pre emulované stroje „powernv“ bola pridaná podpora pre externé radiče BMC. V prípade emulovaných počítačov pseries sa poskytuje upozornenie na zlyhania pri pokuse o odstránenie pamäte a CPU za tepla.
  • Pridaná podpora pre emuláciu procesorov Qualcomm Hexagon s DSP.
  • Klasický generátor kódu TCG (Tiny Code Generator) podporuje hostiteľské prostredia macOS na systémoch s novým čipom Apple M1 ARM.
  • Emulátor architektúry RISC-V pre dosky Microchip PolarFire podporuje flash QSPI NOR.
  • Emulátor Tricore teraz podporuje nový model dosky TriBoard, ktorý emuluje Infineon TC27x SoC.
  • Emulátor ACPI poskytuje možnosť priradiť názvy sieťovým adaptérom v hosťujúcich systémoch, ktoré sú nezávislé od poradia, v ktorom sú pripojené k zbernici PCI.
  • virtiofs pridal podporu pre možnosť FUSE_KILLPRIV_V2 na zlepšenie výkonu hostí.
  • VNC pridalo podporu pre priehľadnosť kurzora a podporu pre zmenu rozlíšenia obrazovky vo virtio-vga na základe veľkosti okna.
  • QMP (QEMU Machine Protocol) pridal podporu pre asynchrónny paralelný prístup pri vykonávaní úloh zálohovania.
  • Emulátor USB pridal možnosť uložiť prevádzku generovanú pri práci s USB zariadeniami do samostatného súboru pcap na následnú kontrolu v programe Wireshark.
  • Pridané nové príkazy QMP load-snapshot, save-snapshot a delete-snapshot na správu snímok qcow2.
  • Chyby zabezpečenia CVE-2020-35517 a CVE-2021-20263 boli opravené vo virtiofoch. Prvý problém umožňuje prístup do hostiteľského prostredia z hosťujúceho systému vytvorením špeciálneho súboru zariadení v hosťujúcom systéme privilegovaným používateľom v adresári zdieľanom s hostiteľským prostredím. Druhý problém je spôsobený chybou v manipulácii s rozšírenými atribútmi vo voľbe 'xattrmap' a môže spôsobiť ignorovanie oprávnení na zápis a eskaláciu privilégií v rámci hosťujúceho systému.

Zdroj: opennet.ru

Pridať komentár