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

Oluşturulan proje sürümü QEMU 4.0. 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.0'a hazırlanırken 3100 geliştiriciden 220'den fazla değişiklik yapıldı.

Anahtar iyileştirmelerQEMU 4.0'e eklendi:

  • ARM mimarisi emülatörüne ARMv8+ talimat uzantıları desteği eklendi: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT ve BTI. Musca ve MPS2 kartlarını taklit etmek için destek eklendi. Geliştirilmiş ARM PMU (Güç Yönetim Birimi) emülasyonu. Platforma erdem 255 GB'tan fazla RAM kullanma yeteneği ve "yüksüz" türüyle u-boot görüntüleri desteği eklendi;

  • Sanallaştırma hızlandırma motorundaki x86 mimarisi emülatöründe HAX (Intel Donanım Hızlandırılmış Yürütme), Linux ve NetBSD gibi POSIX uyumlu ana bilgisayarlar için destek eklendi (daha önce yalnızca Darwin platformu destekleniyordu). Ana PCIe bağlantı noktaları için Q35 yonga seti emülatöründe (ICH9), PCIe 16 spesifikasyonunda tanımlanan maksimum hız (32GT/s) ve bağlantı hattı sayısı (x4.0) artık isteğe bağlı olarak bildirilebilir (uyumluluğu sağlamak için 2.5GT, eski QEMU makineleri /s ve x1 türleri için varsayılan olarak yüklenir). Xen PVH görsellerini “-kernel” seçeneği ile yüklemek mümkündür;
  • MIPS mimarisi emülatörü, klasik TCG (Tiny Code Generator) kod oluşturucuyu kullanarak çok iş parçacıklı emülasyon için destek ekledi. Ayrıca CPU I7200 (nanoMIPS32 ISA) ve I6500 (MIPS64R6 ISA) emülasyonu desteği, QMP (QEMU Yönetim Protokolü) kullanarak CPU türü isteklerini işleme yeteneği, SAARI ve SAAR yapılandırma kayıtları için destek eklendi. Fulong 2E türüyle sanal makinelerin performansı iyileştirildi. İş Parçacığı İletişim Biriminin güncellenmiş uygulaması;
  • PowerPC mimarisi emülatöründe, XIVE kesme denetleyicisini taklit etme desteği eklendi, POWER9 desteği genişletildi ve P serisi için, PCI ana bilgisayar köprülerini (PHB, PCI ana bilgisayar köprüsü) çalışırken takabilme yeteneği eklendi. Spectre ve Meltdown saldırılarına karşı koruma varsayılan olarak etkindir;
  • RISC-V mimarisi emülatörüne PCI ve USB emülasyonu desteği eklendi. Yerleşik hata ayıklama sunucusu (gdbserver) artık XML dosyalarında kayıt listelerinin belirtilmesini desteklemektedir. Mstatus alanları TSR, TW ve TVM için destek eklendi;
  • S390 mimarisi emülatörü, z14 GA 2 CPU modeli için desteğin yanı sıra kayan nokta ve vektör işlemleri için talimat uzantılarının emüle edilmesine yönelik desteği de ekledi. Cihazları çalışırken takabilme özelliği vfio-ap'e eklendi;
  • Tensilica Xtensa ailesi işlemci emülatörü, Linux için SMP desteğini geliştirdi ve FLIX (Esnek uzunluklu talimatlar uzantısı) için destek ekledi;
  • Spice uzaktan erişim istemcisinin QEMU GTK arayüzüne benzer bir tasarıma sahip bir sürümünü yapılandırmak ve başlatmak için grafik arayüze '-display Spice-app' seçeneği eklendi;
  • VNC sunucu uygulamasına tls-authz/sasl-authz seçeneklerini kullanarak erişim kontrolü desteği eklendi;
  • QMP (QEMU Yönetim Protokolü), merkezi/harici (bant dışı) komut yürütme desteği ekledi ve blok cihazlarla çalışmak için ek komutlar uyguladı;
  • Desteklenen mdev'ler (Intel vGPU'lar) için VFIO'ya, xres ve yres seçeneklerini kullanarak ekran çözünürlüğünü değiştirmenize olanak tanıyan bir EDID arayüzü uygulaması eklenmiştir;
  • Xen PV için (xenstore'a erişmeden) bağımsız olarak bir disk arka ucu oluşturabilen yeni bir 'xen-disk' cihazı Xen için eklendi. Xen PV disk arka ucunun performansı artırıldı ve disk boyutunu değiştirme yeteneği eklendi;
  • Ağ blok cihazlarında teşhis ve izleme yetenekleri genişletildi ve sorunlu NBD sunucu uygulamalarıyla istemci uyumluluğu iyileştirildi. Qemu-nbd'ye “--bitmap”, “--list” ve “--tls-authz” seçenekleri eklendi;
  • Öykünülmüş IDE/cihaz aracılığıyla PCI IDE modu için destek eklendi;
  • DMG görüntülerini sıkıştırmak için lzfse algoritmasını kullanma desteği eklendi. Qcow2 formatı için harici veri dosyalarını bağlama desteği eklendi. qcow2 paket açma işlemleri ayrı bir iş parçacığına taşınır. Vmdk görüntülerine "blockdev-create" işlemi için destek eklendi;
  • Virtio-blk blok cihazı, DISCARD (blokların serbest bırakılması hakkında bilgi veren) ve WRITE_ZEROES (bir dizi mantıksal blokun sıfırlanması) işlemleri için destek ekledi;
  • pvrdma cihazı RDMA Yönetim Datagram servislerini (MAD) destekler;
  • Gönderilen değişiklikler, geriye dönük uyumluluğu ihlal ediyor. Örneğin "-fsdev" ve "-virtfs" içindeki "handle" seçeneği yerine "local" veya "proxy" seçeneklerini kullanmalısınız. "-virtioconsole" ("-device virtconsole" ile değiştirildi), "-no-frame", "-clock", "-enable-hax" ("-accel hax" ile değiştirildi) seçenekleri kaldırıldı. "ivshmem" cihazı kaldırıldı ("ivshmem-doorbell" ve "ivshmem-plain" kullanılmalıdır). SDL1.2 ile derleme desteği durduruldu (SDL2 kullanmanız gerekir).

Kaynak: opennet.ru

Yorum ekle