QEMU 4.1 emülatörünün piyasaya sürülmesi

tanıtıldı proje sürümü QEMU 4.1. Bir emülatör olarak QEMU, tamamen farklı bir mimariye sahip bir sistemde bir donanım platformu için derlenmiş bir programı çalıştırmanıza, örneğin x86 uyumlu bir bilgisayarda bir ARM uygulamasını çalıştırmanıza olanak tanır. QEMU'daki sanallaştırma modunda, talimatların CPU üzerinde doğrudan yürütülmesi ve Xen hipervizör veya KVM modülünün kullanılması nedeniyle izole bir ortamda kod yürütme performansı yerel sisteme yakındır.

Proje ilk olarak Fabrice Bellard tarafından x86 platformu için oluşturulmuş Linux yürütülebilir dosyalarının x86 olmayan mimarilerde çalışmasına izin vermek için oluşturuldu. Geliştirme yılları boyunca 14 donanım mimarisi için tam öykünme desteği eklendi, öykünülmüş donanım cihazlarının sayısı 400'ü aştı. Sürüm 4.1'a hazırlanırken 2000 geliştiriciden 276'den fazla değişiklik yapıldı.

Anahtar iyileştirmelerQEMU 4.1'e eklendi:

  • X86 mimarisi emülatörüne Hygon Dhyana ve Intel SnowRidge CPU modelleri desteği eklendi. RDRAND uzantısının (donanım sözde rastgele sayı üreteci) emülasyonu eklendi. Bayraklar eklendi
    Saldırı korumasını kontrol etmek için md-clear ve mds-no MDS (Mikro Mimari Veri Örnekleme) Intel işlemcilerde. “-smp ...,dies=” bayrağını kullanarak entegre devre topolojilerini belirleme yeteneği eklendi. Tüm x86 CPU modelleri için sürüm oluşturma uygulandı;

  • SSH blok sürücüsü kullanımdan kaldırıldı libssh2 üzerinde kitap;
  • Virtio-gpu sürücüsü (projenin bir parçası olarak geliştirilen sanal GPU) Virgil) 2D/3D görüntü oluşturma işlemlerini harici bir sankon-kullanıcı sürecine (örneğin, sankon-kullanıcı-gpu) taşımak için destek eklendi;
  • ARM mimarisi emülatörü, sözde rastgele sayılar oluşturmak için ARMv8.5-RNG uzantısına destek ekledi. Cortex-M ailesi yongaları için FPU emülasyonu desteği uygulandı ve Cortex-R5F için FPU emülasyonu ile ilgili sorunlar çözüldü. Kconfig tarzında tasarlanmış, derleme seçeneklerini ayarlamak için yeni bir sistem önerildi. SoC Exynos4210 için PL330 DMA denetleyicileri desteği eklendi;
  • MIPS mimarisi emülatörü, big-endian bayt sırası kullanılırken MSA ASE talimatlarına yönelik desteği iyileştirdi ve sıfır vakalara bölme işleminin referans donanımla uyumlu hale getirilmesini sağladı. Tamsayı hesaplamaları ve permütasyon işlemleri için MSA talimatlarının emülasyonunun performansı artırıldı;
  • PowerPC mimarisi emülatörü artık VFIO kullanarak NVIDIA V100/NVLink2 GPU'lara iletmeyi destekliyor. Pseri için, XIVE kesme denetleyicisi emülasyonunun hızlandırılması uygulandı ve PCI köprülerinin çalışırken takılması desteği eklendi. Vektör talimatlarının (Altivec/VSX) emülasyonunda optimizasyonlar yapılmıştır;
  • RISC-V mimarisi emülatörüne yeni bir donanım modeli eklendi - "spike". ISA 1.11.0 desteği eklendi. 32 bit sistem çağrısı ABI iyileştirildi, geçersiz talimat işleme iyileştirildi ve yerleşik hata ayıklayıcı iyileştirildi. Cihaz ağacına CPU topolojisi desteği eklendi;
  • s390 mimarisi emülatörü, "Vektör Tesisi" grubunun tüm vektör talimatlarını taklit etmek için destek ekledi ve gen15 sistemlerini desteklemek için ek öğeler ekledi (vfio-ap için AP Kuyruk Kesinti Tesisi için eklenen destek dahil). vfio-ccw aracılığıyla konuk sisteme bağlanan ECKD DASD'den önyükleme için BIOS desteği uygulandı;
  • sun4m sistemleri için SPARC mimarisi emülatöründe, OpenBIOS için “-vga none” bayrağının kullanılmasıyla ilgili sorunlar çözüldü;
  • Tensilica Xtensa ailesi işlemci emülatörü, MPU (bellek koruma ünitesi) ve özel erişim seçeneklerini içerir;
  • G/Ç hataları durumunda görüntü dönüştürme işleminin çökmesini devre dışı bırakmak için "qemu-img Convert" komutuna "-salvage" seçeneği eklenmiştir (örneğin, kısmen hasar görmüş qcow2 dosyalarını geri yüklemek için kullanılabilir). Bir takımda
    "qemu-img rebase", giriş dosyası için henüz bir yedekleme dosyası oluşturulmadığında çalışır;

  • "Semihosting" teknolojisi (öykünülmüş aygıtın ana bilgisayar tarafında dosyalar oluşturmak için stdout, stderr ve stdin kullanmasına olanak tanır) kullanılarak düzenlenen çıktıyı chardev arka ucuna ("-semihosting-config active=on,target=native) yeniden yönlendirme yeteneği eklendi ,chardev=[ID]");
  • VMDK blok sürücüsüne salt okunur modda seSparse alt formatı için destek eklendi;
  • GPIO emülasyon sürücüsüne SiFive GPIO denetleyicisi için destek eklendi.

Kaynak: opennet.ru

Yorum ekle