Izdavanje QEMU 6.0 emulatora

Predstavljeno je izdanje projekta QEMU 6.0. Kao emulator, QEMU vam omogućava da pokrenete program napravljen za jednu hardversku platformu na sistemu sa potpuno drugačijom arhitekturom, na primjer, pokrenete ARM aplikaciju na x86 kompatibilnom PC-u. U režimu virtuelizacije u QEMU, performanse izvršavanja koda u izolovanom okruženju su bliske hardverskom sistemu zbog direktnog izvršavanja instrukcija na CPU-u i upotrebe Xen hipervizora ili KVM modula.

Projekat je prvobitno kreirao Fabrice Bellard kako bi se omogućilo izvršavanje Linuxa napravljenih za x86 platformu da rade na arhitekturi koja nije x86. Tokom godina razvoja, dodana je puna podrška za emulaciju za 14 hardverskih arhitektura, broj emuliranih hardverskih uređaja je premašio 400. U pripremi za verziju 6.0, napravljeno je više od 3300 izmjena od 268 programera.

Ključna poboljšanja dodana u QEMU 6.0:

  • Emulator NVMe kontrolera usklađen je sa NVMe 1.4 specifikacijom i opremljen je eksperimentalnom podrškom za zonirane prostore imena, višestazni I/O i end-to-end enkripciju podataka na drajvu.
  • Dodane 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.
  • Dodata eksperimentalna podrška za kreiranje snimaka RAM sadržaja.
  • Dodan FUSE modul za izvoz blok uređaja, koji vam omogućava da montirate dio stanja bilo kojeg blok uređaja koji se koristi u sistemu za goste. Izvoz se vrši preko QMP komande block-export-add ili preko 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 instrukcije. Dodata podrška za ARM ploče mps3-an524 i mps3-an547. Dodatna emulacija uređaja je implementirana za xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx i sabrelite ploče.
  • Za ARM, u režimima emulacije na nivou sistema i korisničkog okruženja, implementirana je podrška za ekstenziju ARMv8.5 MTE (MemTag, Memory Tagging Extension), koja vam omogućava da povežete oznake sa svakom operacijom dodjele memorije i organizirate provjeru pokazivača kada pristupa memoriji, koja mora biti povezana s ispravnom oznakom. Ekstenzija se može koristiti za blokiranje iskorištavanja ranjivosti uzrokovanih pristupom već oslobođenim memorijskim blokovima, prelivanjem bafera, pristupima prije inicijalizacije i korištenjem izvan trenutnog konteksta.
  • Emulator 68k arhitekture je dodao podršku za novi tip emulirane mašine „virt“, koja koristi virtio uređaje za optimizaciju performansi.
  • x86 emulator dodaje mogućnost upotrebe AMD SEV-ES (Secure Encrypted Virtualization) tehnologije za šifriranje registara procesora koji se koriste u gostujućem sistemu, čineći sadržaj registara nedostupnim za okruženje domaćina osim ako gostujući sistem eksplicitno ne odobri pristup njima.
  • Klasični TCG (Tiny Code Generator) generator koda, kada emulira x86 sisteme, implementira podršku za PKS (Protection Keys Supervisor) mehanizam, koji se može koristiti za zaštitu pristupa privilegovanim memorijskim stranicama.
  • Nova vrsta emuliranih mašina „virt” je dodata emulatoru MIPS arhitekture sa podrškom za kineske Loongson-3 procesore.
  • U emulatoru PowerPC arhitekture za emulirane mašine “powernv”, dodata je podrška za eksterne BMC kontrolere. Za emulirane pserijske mašine, obezbeđeno je obaveštenje o kvarovima prilikom pokušaja vrućeg uklanjanja memorije i CPU-a.
  • Dodata podrška za emulaciju Qualcomm Hexagon procesora sa DSP-om.
  • Klasični TCG (Tiny Code Generator) generator koda podržava macOS host okruženja na sistemima sa 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 TriBoard ploče, koji emulira Infineon TC27x SoC.
  • ACPI emulator pruža mogućnost dodjeljivanja imena mrežnim adapterima u gostujućim sistemima koji su neovisni o redoslijedu kojim su povezani na PCI magistralu.
  • virtiofs je dodao podršku za opciju FUSE_KILLPRIV_V2 za poboljšanje performansi gostiju.
  • VNC je dodao podršku za transparentnost kursora i podršku za skaliranje rezolucije ekrana u virtio-vga, na osnovu veličine prozora.
  • QMP (QEMU Machine Protocol) je dodao podršku za asinhroni paralelni pristup prilikom izvođenja zadataka sigurnosnog kopiranja.
  • USB emulator je dodao mogućnost uštede prometa generiranog pri radu sa USB uređajima u posebnu pcap datoteku za naknadnu inspekciju u Wiresharku.
  • Dodane nove QMP komande load-snapshot, save-snapshot i delete-snapshot za upravljanje qcow2 snimcima.
  • Ranjivosti CVE-2020-35517 i CVE-2021-20263 su ispravljene u virtiofima. Prvi problem omogućava pristup okruženju domaćina iz gostujućeg sistema kreiranjem posebne datoteke uređaja u gostujućem sistemu od strane privilegovanog korisnika u direktorijumu koji se dijeli sa okruženjem domaćina. Drugi problem je uzrokovan greškom u rukovanju proširenim atributima u opciji 'xattrmap' i može uzrokovati ignorisanje dozvola za pisanje i eskalaciju privilegija unutar sistema za goste.

izvor: opennet.ru

Dodajte komentar