Izdaja emulatorja QEMU 6.0

Predstavljen je izdanja projekta QEMU 6.0. Kao emulator, QEMU omogućava pokretanje programa napravljenog za jednu hardversku platformu na sistemu sa potpuno drugačijom arhitekturom, na primer, izvršavanje aplikacije za ARM na x86-kompatibilnom PC-u. U režimu virtualizacije, performanse izvršavanja koda u izolovanom okruženju su bliske hardverskom sistemu zahvaljujući direktnom izvršavanju instrukcija na CPU-u i korišćenju hipervizora Xen ili modula KVM.

Prvobitno, projekat je osnovao Fabrice Bellard sa ciljem omogućavanja pokretanja izvršnih datoteka Linux-a napravljenih za x86 platformu na arhitekturama koje se razlikuju od x86. Tokom godina razvoja dodata je podrška za punu emulaciju za 14 hardverskih arhitektura, a broj emuliranih hardverskih uređaja je premašio 400. Tokom pripreme verzije 6.0, izvršeno je više od 3300 izmena od 268 programera.

Ključna poboljšanja dodata u QEMU 6.0:

  • Emulator kontrolera NVMe usklađen je sa specifikacijom NVMe 1.4 i dobio je eksperimentalnu podršku za zonirane prostore imena, multipath I/O i krajnje šifrovanje podataka na skladištu.
  • Dodate su eksperimentalne opcije „-machine x-remote“ i „-device x-pci-proxy-dev“ za izmeštanje emulacije uređaja u spoljne procese. U ovom režimu trenutno je podržana samo emulacija SCSI adaptera lsi53c895.
  • Dodata je eksperimentalna podrška za kreiranje snimaka sadržaja RAM-a.
  • Dodan je FUSE modul za izvoz blokovskih uređaja, omogućavajući montiranje snimka stanja bilo kog blokovskog uređaja koji se koristi u gostujućem sistemu. Izvoz se vrši putem QMP komande block-export-add ili putem opcije „—export“ u alatu qemu-storage-daemon.
  • U emulator ARM dodata je podrška za arhitekturu ARMv8.1-M ‘Helium’ i procesore Cortex-M55, kao i proširene instrukcije ARMv8.4 TTST, SEL2 i DIT. Takođe je dodata podrška za ARM platforme mps3-an524 i mps3-an547. Za platforme xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx i sabrelite realizovana je dodatna emulacija uređaja.
  • Za ARM v načinih emulacije na ravni sistema in uporabniškega okolja je bila uvedena podpora za razširitev ARMv8.5 MTE (MemTag, razširitev označevanja pomnilnika), ki omogoča dodelitev oznak vsaki operaciji dodeljevanja pomnilnika in organizacijo preverjanja kazalcev ob dostopu do pomnilnika, ki mora biti povezan s pravilno oznako. Razširitev se lahko uporablja za preprečevanje izkoriščanja ranljivosti, ki izhajajo iz dostopa do že osvobojenih blokov pomnilnika, prelivanja v pomnilniku, dostopa pred inicializacijo in uporabo izven trenutnega konteksta.
  • V emulatorju arhitekture 68k je bila dodana podpora za nov tip emuliranih naprav 'virt', ki uporabljajo virtio za optimizacijo zmogljivosti naprave.
  • V emulatorju arhitekture x86 je bila dodana možnost uporabe tehnologije AMD SEV-ES (Secure Encrypted Virtualization) za šifriranje procesorskih registrov, ki se uporabljajo v gostujočem sistemu, kar onemogoča dostop do vsebine registrov za gostiteljsko okolje, razen če gostujoči sistem izrecno ne omogoči dostopa do njih.
  • V klasičnem generatorju kode TCG (Tiny Code Generator) je bila pri emulaciji sistemov x86 uvedena podpora za mehanizem PKS (Protection Keys Supervisor), ki se lahko uporablja za zaščito dostopa do privilegiranih strani pomnilnika.
  • V emulatorju arhitekture MIPS je bil dodan nov tip emuliranih naprav 'virt' s podporo za kitajske procesorje Loongson-3.
  • V emulatorju arhitekture PowerPC za emulirane naprave 'powernv' je bila dodana podpora za zunanje BMC krmilnike. Za emulirane naprave pseries je omogočeno obveščanje o napakah pri poskusu vročega odstranjevanja pomnilnika in CPU.
  • Dodana je podpora za emulacijo procesorjev Qualcomm Hexagon s DSP.
  • V klasičnem generatorju kode TCG (Tiny Code Generator) je bila uvedena podpora za macOS gostiteljska okolja na sistemih z novim ARM čipom Apple M1.
  • V emulatorju arhitekture RISC-V za plošče Microchip PolarFire je bila uvedena podpora za QSPI NOR flash.
  • V emulatorju Tricore je bila dodana podpora za nov model plošč TriBoard, ki emulira SoC Infineon TC27x.
  • V emulatorju ACPI je bila omogočena dodelitev imen omrežnim adapterjem v gostujočih sistemih, neodvisno od vrstnega reda povezovanja na PCI vodilo.
  • V virtiofs je bila dodana podpora za možnost FUSE_KILLPRIV_V2 za izboljšanje zmogljivosti gostujočih sistemov.
  • V VNC je bila dodana podpora za prosojnost kazalca in podpora za prilagajanje ločljivosti zaslona v virtio-vga, ki temelji na velikosti okna.
  • V QMP (QEMU Machine Protocol) je bila dodana podpora za asinhroni paralelni dostop pri izvajanju varnostnih kopij.
  • V emulatorju USB je bila dodana možnost shranjevanja prometa, ki se ustvari pri delu z USB napravami, v ločeno pcap datoteko za kasnejše pregledovanje v Wireshark.
  • Dodane so nove QMP ukaze load-snapshot, save-snapshot in delete-snapshot za upravljanje s snapshot-i qcow2.
  • V virtiofs so bile odpravljene ranljivosti CVE-2020-35517 in CVE-2021-20263. Prva težava omogoča dostop do gostiteljske okolice iz gostujočega sistema s pomočjo ustvarjanja posebne naprave s strani privilegiranega uporabnika v gostujočem sistemu v skupni mapi z gostiteljsko okolico. Druga težava izhaja iz napake pri obdelavi razširjenih lastnosti v možnosti 'xattrmap', kar lahko povzroči ignoriranje ponastavitve pravic za pisanje in povečanje privilegijev znotraj gostujočega sistema.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster