Bol zverejnený emulátor QEMU 9.2.0 so podporou Rust a Vulkan

Bol disponibilizovaný release projektu QEMU 9.2. Ako emulátor QEMU umožňuje spustiť program zostavený pre jednu hardvérovú platformu na systéme s úplne inou architektúrou, napríklad vykonať aplikáciu pre ARM na PC kompatibilnom s x86. V režime virtualizácie je výkon vykonávania kódu v izolovanom prostredí blízky hardvérovej relácii vďaka priamemu vykonávaniu inštrukcií na CPU a využitiu hypervízora Xen alebo modulu KVM v Linuxe, alebo modulu NVMM v NetBSD.

Projekt bol pôvodne vytvorený Fabricom Bellardom s cieľom poskytnúť možnosť spúšťať zostavené executables Linuxu pre platformu x86 na architektúrach odlišných od x86. Počas rokov vývoja bola pridaná podpora pre plnú emuláciu pre 14 hardvérových architektúr a počet emulovaných hardvérových zariadení presiahol 400. Pri príprave verzie 9.2 bolo vykonaných viac ako 1700 zmien od 209 vývojárov.

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

  • Pridaná experimentálna podpora pre vytváranie modelov zariadení napísaných v jazyku Rust. Pri zostavovaní QEMU s podporou Rust sa predvolene používa alternatívna implementácia ovládača PL011 UART, napísaná v Ruste, ale zatiaľ sa neodporúča na široké použitie.

    V súčasnosti je podpora Rust v QEMU predvolene vypnutá a aktivuje sa pri zostavovaní cez zadanú možnosť „—enable-rust“ pri spustení skriptu configure. Na zostavenie s Rust sú potrebné aspoň verzie rustc 1.63.0 a bindgen 0.60.0 (napríklad v Debian 12 je potrebné osobitne nainštalovať novšiu verziu Rust). V budúcnosti plánujú pridať kompilátor Rust a generátor viazaní bindgen medzi povinné závislosti na zostavenie.

    Z plánov, súvisiacich s propagáciou Rust v QEMU, možno spomenúť uvedenie do prevádzkového stavu ovládača HPET (High Precision Event Timer) a ovládača pre blokové zariadenia napísaných v Ruste, pokračovanie vo vývoji wrapperov pre použitie Rust v rôznych komponentoch QEMU (napríklad v ovládačoch blokových zariadení, časovačoch a GPIO), prepisovanie na Rust kritických z pohľadu bezpečnosti systémov, ako je virtio.

  • Do zariadenia VirtIO-GPU, ktoré zabezpečuje funkciu virtuálneho GPU, bola pridaná podpora 3D akcelerácie pomocou grafického API Vulkan, implementovaná cez Mesa Vulkan ovládač Venus, ktorý umožňuje poskytnúť hosťovskému systému virtuálny GPU na 3D renderovanie bez otvorenia exkluzívneho priameho prístupu k fyzickému GPU. Pre správnu funkciu je potrebná knižnica virglrenderer na strane hostiteľského systému a Mesa ovládač Venus na strane hosťovského systému. K dispozícii je návod na nastavenie podpory Vulkan v QEMU.
  • Do nástroja na migráciu hostiteľov bola pridaná podpora akcelerácie operácií kompresie súčasne prenášaných tokov údajov pomocou knižnice QATzip, ktorá využíva integrovaný akcelerátor QAT (QuickAssist Technology) v procesoroch Intel, ponúkajúci prostriedky na urýchlenie výpočtov súvisiacich s kompresiou a šifrovaním.
  • Do kryptografického backendu na báze GLib bola pridaná podpora algoritmu hašovania SHA-384.
  • Do emulátora architektúry ARM bola pridaná podpora procesorových rozšírení FEAT_EBF16 a FEAT_CMOW, ako aj rozšírení na zabezpečenie, ktoré sa používajú na doskách xilinx-zynq-a9. Pri použití komponentu HVF, ktorý využíva Hypervisor.framework na urýchlenie realizácie hosťovských systémov na ARM počítačoch Mac, je zabezpečená podpora viac ako 64 GB pamäte. Pre emulované systémy sbsa-ref a virt bola pridaná podpora dvojstupňovej translácie adries v SMMU (System Memory Management Unit). Podpora zastaraných typov emulovaného hardvéru akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex a z2 bola ukončená.
  • Do emulátora architektúry x86 bola pridaná podpora nového typu hardvérovej konfigurácie — nitro-enclave, emulujúceho prostredie AWS Nitro Enclave a schopného načítať systémové obrazy vo formáte Enclave Image Format.
  • V emulátore architektúry x86 pre hypervízor KVM bola implementovaná možnosť zapnúť podporu inštrukčného setu AVX10, ako aj špecifické verzie AVX10 — avx10-128, avx10-256 a avx10-512.
  • Do emulátora architektúry RISC-V bola pridaná podpora rozšírení inštrukčného setu Svvptc, Bitmanip (Bit-Manipulation) a CFI (Control Flow Integrity), ktoré sa používajú na doskách OpenTitan. Do typu emulovaných systémov 'virt' bola pridaná podpora IOMMU. Výkon inštrukcií ld a st bol zlepšený.
  • Vo emulátore architektúry HPPA bola firmware SeaBIOS-hppa aktualizovaná na verziu 17.
  • Do emulátora architektúry s390x bola pridaná možnosť bootovania z iných zariadení, ak bootovanie z uvedeného zariadenia zlyhalo.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster