Izdan je emulator QEMU 9.0.0

Predstavljen je novi izdanak projekta QEMU 9.0. Kao emulator, QEMU omogućuje pokretanje programa sastavljenih za jednu hardversku platformu na sustavu s potpuno drugačijom arhitekturom, na primjer, izvršavanje aplikacije za ARM na x86-kompatibilnom računalu. U virtualizacijskom režimu QEMU ostvaruje performanse izvršavanja koda u izoliranom okruženju koje su bliske hardverskom sustavu zahvaljujući izravnom izvršavanju instrukcija na CPU-u i korištenju hipervizora Xen ili KVM modula u Linuxu, ili NVMM modula u NetBSD-u.

Projekt je izvorno stvorio Fabrice Bellard s ciljem omogućavanja pokretanja izvršnih datoteka Linuxa sastavljenih za x86 platformu na arhitekturama različitim od x86. Tijekom godina razvoja dodana je potpuna podrška za 14 hardverskih arhitektura, a broj emuliranih hardverskih uređaja premašio je 400. U pripremi verzije 9.0 izvršeno je više od 2700 promjena od strane 220 razvijača.

Ključna poboljšanja dodana u QEMU 9.0:

  • U virtio-blk drajveru, koji pruža virtualni blok uređaj za virtualnih mašina, dodana je podrška za višeslojne sustave redova (multiqueue), omogućujući razdvajanje redova za različite blok uređaje radi osiguravanja višedretvenog pristupa na višekernelskim sustavima (različiti redovi jednog diska mogu se obrađivati različitim ulazno/izlaznim tokovima).
  • U usb-storage blok uređaju dodana je podrška za svojstva ‘backend_defaults’, ‘logical_block_size’, ‘physical_block_size’, ‘min_io_size’, ‘opt_io_size’ i ‘discard_granularity’.
  • U gdbstub biblioteku, namijenjenu za daljinsko debuggiranje u GDB-u korištenjem RSP protokola (Remote Serial Protocol), dodana je podrška za fork-follow režim, operaciju siginfo:read i presretanje sistemskih poziva u korisničkom prostoru.
  • Backendovi za prethodno raspoređivanje memorije (preallocation) prilagođeni su za rad u višedretvenom režimu i sada mogu istovremeno obrađivati zahtjeve iz više tokova.
  • U alate za migraciju virtualnih mašina dodan je režim «mapped-ram», koji povećava učinkovitost izrade snimaka virtualnih mašina. Poboljšano je određivanje nulte stranice memorije, što je značajno ubrzalo migraciju neaktivnih virtualnih mašina u sustavima koji podržavaju multifd. U migraciji temeljenoj na VFIO (Virtual Function I/O) implementirana je podrška za ponovno pokretanje s spremljenog stanja (checkpoint-restart).
  • Prepisana realizacija uređaja ESP SCSI (am53c974/dc390).
  • Dodana podrška za algoritam šifriranja SM4 i omogućena je njegova upotreba u drajveru blok uređaja 'luks'.
  • U drajver 'luks' dodana je podrška za kreiranje i korišćenje datoteka sa sačuvanim LUKS zaglavljima.
  • U emulatoru arhitekture ARM implementirana je podrška za ploče L475E-IOT01A IoT, mp3-an536 (MPS3 sa firmverom AN536) i raspi4b (Raspberry Pi 4 Model B). Dodana je podrška za emulaciju proširenja procesora ECV (Enhanced Counter Virtualization), NV (Nested Virtualization) i NV2 (Enhanced Nested Virtualization). Proširene su mogućnosti emulatore ploča Freescale i.MX6, Allwinner R40, Bananapi, Raspberry Pi, npcm7xx i virt.
  • U emulator arhitekture RISC-V dodana je podrška za proširenja skupa instrukcija Zacas, amocas, RVA22, Zaamo, Zalrsc i Ztso. U virtualnim mašinama RISC-V osigurana je podrška za SMBIOS. Za SRAT, SLIT, AIA i PLIC implementirana je podrška za ACPI. Ažurirana je podrška za RHCT tabele.
  • U emulatoru arhitekture HPPA do verzije 16 ažurirana je verzija firmvera SeaBIOS-hppa. Maksimalna veličina memorije povećana je sa 3 GB na 3840 MB. Dodana je podrška za opciju '—nodefaults'.
  • U emulatoru arhitekture LoongArch dodana je podrška za ubrzanje KVM i implementirana je podrška za vektorska proširenja skupa instrukcija LSX/LASX.
  • U emulatoru arhitekture s390x dodana je podrška za instrukcije CVDG, CVB, CVBY i CVBG. Poboljšana je emulacija LAE (Load Address Extended).
  • U emulator arhitekture 68k dodan je uređaj nubus-virtio-mmio, koji omogućava pristup uređajima virtio iz mašina q800.
  • Osigurana je kompilacija sa zastavicom '-fzero-call-used-regs', koja štiti od curenja informacija iz funkcija i smanjuje broj blokova pogodnih za izgradnju ROP gadgeta (Return-Oriented Programming) u eksploitima. Takođe je dodana kompilacija sa zastavicom '-ftrivial-auto-var-init=zero' za automatsku inicijalizaciju svih varijabli koje se čuvaju na steku nulom.
  • Za pokretanje QEMU sa KVM-om sada je potrebna verzija jezgra Linuxa najmanje 4.4. Za ARM hostove planira se povećanje ovog praga na verziju 4.19 u budućnosti. Prekinuta je podrška za korišćenje 32-bitnih Windowsa kao domaćih operativnih sistema.
  • Dodana podrška za OpenBSD 7.4.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster