Byl vydán emulátor QEMU 9.2.0 s podporou Rust a Vulkan

Byla představena verze projektu QEMU 9.2. Jako emulátor QEMU umožňuje spustit program sestavený pro jednu hardwarovou platformu na systému s úplně jinou architekturou, například provést aplikaci pro ARM na PC kompatibilním s x86. V režimu virtualizace v QEMU je výkonnost kódu ve vysoce izolovaném prostředí téměř shodná s hardwarovým systémem díky přímému vykonávání instrukcí na CPU a využití hypervisoru Xen nebo modulu KVM v Linuxu, nebo modulu NVMM v NetBSD.

Projekt byl původně vytvořen Fabricem Bellardem za účelem umožnění spuštění spustitelných souborů Linuxu určených pro platformu x86 na architekturách, které se liší od x86. Během let vývoje byla přidána podpora pro kompletní emulaci pro 14 hardwarových architektur a počet emulovaných hardwarových zařízení překročil 400. Při přípravě verze 9.2 bylo provedeno více než 1700 změn od 209 vývojářů.

Klíčová vylepšení přidaná do QEMU 9.2:

  • Byla přidána experimentální podpora pro vytváření modelů zařízení napsaných v jazyce Rust. Při sestavení QEMU s podporou Rust je ve výchozím nastavení použita alternativní implementace ovladače PL011 UART napsaná v Rustu, ale zatím není doporučena pro široké použití.

    V současné době je podpora Rust ve QEMU ve výchozím nastavení zakázána a aktivuje se při sestavení pomocí volby „—enable-rust“ při spuštění konfiguračního skriptu. Pro sestavení s Rustem jsou potřeba alespoň verze rustc 1.63.0 a bindgen 0.60.0 (například v Debianu 12 bude nutné samostatně nainstalovat novější verzi Rust). V budoucnu se plánuje, že kompilátor Rust a generátor vazeb bindgen se stanou povinnými build závislostmi.

    Mezi plány zaměřenými na rozvoj Rust v QEMU patří uvedení ovladače HPET (High Precision Event Timer) a ovladače pro bloková zařízení napsaná v Rustu do funkčního stavu, pokračování rozvoje obálek pro využití Rustu v různých komponentách QEMU (například v ovladačích blokových zařízení, časovačích a GPIO), a přepis kritických bezpečnostních systémů jako virtio do Rustu.

  • Do zařízení VirtIO-GPU, které zajišťuje funkci virtuálního GPU, byla přidána podpora 3D akcelerace pomocí grafického API Vulkan, implementovaná prostřednictvím Mesa Vulkan ovladače Venus, který umožňuje poskytnout hostitelskému systému virtuální GPU pro 3D renderování bez otevření výhradního přístupu k fyzickému GPU. Pro funkčnost je nutná knihovna virglrenderer na straně hostitelského systému a Mesa ovladač Venus na straně hostitelského systému. K dispozici je instrukce pro nastavení podpory Vulkan v QEMU.
  • Do nástrojů pro migraci hostitelů byla přidána podpora zrychlení operací komprese současně přenášených datových proudů pomocí knihovny QATzip, která využívá vestavěný akcelerátor QAT (QuickAssist Technology) v procesorech Intel, nabízející nástroje pro urychlení výpočtů souvisejících se kompresí a šifrováním.
  • Do kryptografického backendu na bázi GLib byla přidána podpora hashovacího algoritmu SHA-384.
  • Do emulátoru architektury ARM byla přidána podpora rozšíření procesoru FEAT_EBF16 a FEAT_CMOW, jakož i rozšíření pro zabezpečení používaná na deskách xilinx-zynq-a9. Při použití komponenty HVF, jež využívá nástroje Hypervisor.framework pro zrychlení vykonávání hostitelských systémů na ARM počítačích Mac, byla zajištěna podpora více než 64 GB paměti. Pro emulované systémy sbsa-ref a virt byla přidána podpora dvoustupňového překlad adres v SMMU (System Memory Management Unit). Podpora zastaralých typů emulovaného hardware akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex a z2 byla ukončena.
  • Do emulátoru architektury x86 byla přidána podpora nového typu hardwarové konfigurace - nitro-enclave, emulující prostředí AWS Nitro Enclave a schopného načítat systémové obrazy ve formátu Enclave Image Format.
  • V emulátoru architektury x86 pro hypervisor KVM byla implementována možnost aktivace podpory instrukčního setu AVX10, stejně jako specifických verzí AVX10 - avx10-128, avx10-256 a avx10-512.
  • Do emulátoru architektury RISC-V byla přidána podpora rozšíření instrukčního setu Svvptc, Bitmanip (Bit-Manipulation) a CFI (Control Flow Integrity), používaných na deskách OpenTitan. Do typu emulovaných systémů 'virt' byla přidána podpora IOMMU. Byla zlepšena výkon instrukcí ld a st.
  • V emulátoru architektury HPPA byla aktualizována firmware SeaBIOS-hppa na verzi 17.
  • Do emulátoru architektury s390x byla přidána možnost spouštění z jiných zařízení, pokud se nepodařilo spustit z určeného zařízení.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster