Izdanje emulatora QEMU 6.0

Predstavljeno je izdanje projekta QEMU 6.0. Kao emulator, QEMU vam omogućuje pokretanje programa kompiliranog za jednu hardversku platformu na sustavu s potpuno različitom arhitekturom, na primjer, pokretanje ARM aplikacije na računalu kompatibilnom s x86. U virtualizacijskom načinu rada u QEMU, performanse izvršavanja koda u izoliranom okruženju bliske su onima hardverskog sustava zbog izravnog izvršavanja instrukcija na CPU-u i upotrebe Xen hipervizora ili KVM modula.

Projekt je izvorno kreirao Fabrice Bellard kako bi omogućio pokretanje Linux izvršnih datoteka kompiliranih za x86 platformu na ne-x86 arhitekturama. Tijekom godina razvoja dodana je podrška za potpunu emulaciju za 14 hardverskih arhitektura, broj emuliranih hardverskih uređaja premašio je 400. U pripremi verzije 6.0 napravljeno je više od 3300 promjena od strane 268 programera.

Ključna poboljšanja dodana u QEMU 6.0:

  • Emulator NVMe kontrolera usklađen je sa specifikacijom NVMe 1.4 i opremljen je eksperimentalnom podrškom za zonirane prostore imena, multipath I/O i end-to-end enkripciju podataka na disku.
  • Dodane su eksperimentalne opcije "-machine x-remote" i "-device x-pci-proxy-dev" za premještanje emulacije uređaja na vanjske procese. U ovom načinu rada trenutno je podržana samo emulacija lsi53c895 SCSI adaptera.
  • Dodana je eksperimentalna podrška za stvaranje snimki RAM sadržaja.
  • Dodan je modul FUSE za izvoz blok uređaja, što vam omogućuje da montirate isječak stanja bilo kojeg blok uređaja koji se koristi u sustavu za goste. Izvoz se provodi putem QMP naredbe block-export-add ili putem opcije “--export” u uslužnom programu qemu-storage-daemon.
  • ARM emulator dodaje podršku za ARMv8.1-M 'Helium' arhitekturu i Cortex-M55 procesore, kao i proširene ARMv8.4 TTST, SEL2 i DIT upute. Dodana je i podrška za ARM ploče mps3-an524 i mps3-an547. Dodatna emulacija uređaja implementirana je za xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx i sabrelite ploče.
  • Za ARM, u načinima emulacije na razini sustava i korisničkog okruženja, implementirana je podrška za proširenje ARMv8.5 MTE (MemTag, Memory Tagging Extension), koje vam omogućuje da vežete oznake za svaku operaciju dodjele memorije i organizirate provjeru pokazivača kada pristupa memoriji, koja mora biti povezana s ispravnom oznakom. Proširenje se može koristiti za blokiranje iskorištavanja ranjivosti uzrokovanih pristupom već oslobođenim blokovima memorije, preljevima međuspremnika, pristupima prije inicijalizacije i korištenjem izvan trenutnog konteksta.
  • Emulator 68k arhitekture dodao je podršku za novu vrstu emuliranog stroja "virt", koji koristi virtio uređaje za optimizaciju performansi.
  • Emulator x86 dodaje mogućnost korištenja tehnologije AMD SEV-ES (Secure Encrypted Virtualization) za šifriranje registara procesora koji se koriste u sustavu za goste, čineći sadržaj registara nedostupnim okruženju domaćina osim ako sustav za goste eksplicitno odobri pristup njima.
  • Klasični TCG (Tiny Code Generator) generator koda, prilikom emulacije x86 sustava, implementira podršku za PKS (Protection Keys Supervisor) mehanizam, koji se može koristiti za zaštitu pristupa privilegiranim memorijskim stranicama.
  • Nova vrsta emuliranih strojeva "virt" dodana je emulatoru MIPS arhitekture s podrškom za kineske Loongson-3 procesore.
  • U emulatoru PowerPC arhitekture za emulirane strojeve “powernv” dodana je podrška za vanjske BMC kontrolere. Za emulirane strojeve serije pse, dostavljena je obavijest o pogreškama pri pokušaju uklanjanja memorije i CPU-a bez isključivanja.
  • Dodana podrška za emulaciju Qualcomm Hexagon procesora s DSP-om.
  • Klasični TCG (Tiny Code Generator) generator koda podržava macOS host okruženja na sustavima s novim Apple M1 ARM čipom.
  • Emulator RISC-V arhitekture za Microchip PolarFire ploče podržava QSPI NOR flash.
  • Tricore emulator sada podržava novi model ploče TriBoard, koji emulira Infineon TC27x SoC.
  • ACPI emulator pruža mogućnost dodjele naziva mrežnim adapterima u gostujućim sustavima koji su neovisni o redoslijedu kojim su povezani na PCI sabirnicu.
  • virtiofs je dodao podršku za opciju FUSE_KILLPRIV_V2 za poboljšanje performansi gosta.
  • VNC je dodao podršku za transparentnost pokazivača i podršku za skaliranje rezolucije zaslona u virtio-vga, na temelju veličine prozora.
  • QMP (QEMU Machine Protocol) je dodao podršku za asinkroni paralelni pristup prilikom izvođenja zadataka sigurnosnog kopiranja.
  • USB emulator je dodao mogućnost spremanja prometa generiranog tijekom rada s USB uređajima u zasebnu pcap datoteku za kasniju inspekciju u Wiresharku.
  • Dodane su nove QMP naredbe load-snapshot, save-snapshot i delete-snapshot za upravljanje qcow2 snimkama.
  • Ranjivosti CVE-2020-35517 i CVE-2021-20263 popravljene su u virtiofs-u. Prvi problem omogućava pristup glavnom okruženju iz gostujućeg sustava stvaranjem posebne datoteke uređaja u gostujućem sustavu od strane privilegiranog korisnika u direktoriju koji se dijeli s glavnim okruženjem. Drugi problem uzrokovan je greškom u rukovanju proširenim atributima u opciji 'xattrmap' i može uzrokovati ignoriranje dozvola za pisanje i eskalaciju privilegija unutar sustava za goste.

Izvor: opennet.ru

Dodajte komentar