QEMU 4.1 emulyatorining chiqarilishi

Tanishtirdi loyiha chiqarilishi QEMU 4.1. Emulator sifatida QEMU butunlay boshqa arxitekturaga ega tizimda bitta apparat platformasi uchun tuzilgan dasturni ishga tushirishga imkon beradi, masalan, x86-ga mos keluvchi kompyuterda ARM ilovasini ishga tushiradi. QEMU-da virtualizatsiya rejimida, protsessorda ko'rsatmalarning to'g'ridan-to'g'ri bajarilishi va Xen gipervisor yoki KVM modulidan foydalanish tufayli izolyatsiya qilingan muhitda kodning bajarilishi mahalliy tizimga yaqin.

Loyiha dastlab Fabrice Bellard tomonidan x86 platformasi uchun tuzilgan Linux bajariladigan fayllarni x86 bo'lmagan arxitekturalarda ishga tushirish qobiliyatini ta'minlash uchun yaratilgan. Rivojlanish yillari davomida 14 ta apparat arxitekturasi uchun toʻliq emulyatsiyani qoʻllab-quvvatlash qoʻshildi, emulyatsiya qilingan apparat qurilmalari soni 400 dan oshdi. 4.1 versiyasini tayyorlashda 2000 ta dasturchi tomonidan 276 dan ortiq oʻzgartirishlar kiritildi.

Kalit yaxshilanishlarQEMU 4.1 da qo'shilgan:

  • Hygon Dhyana va Intel SnowRidge CPU modellarini qo'llab-quvvatlash x86 arxitektura emulyatoriga qo'shildi. RDRAND kengaytmasining emulyatsiyasi qo'shildi (apparat psevdo-tasodifiy raqamlar generatori). Qo'shilgan bayroqlar
    md-clear va mds-no - hujumdan himoya qilishni nazorat qilish MDS Intel protsessorlarida (Mikroarxitektura ma'lumotlarini namuna olish). “-smp ...,dies=” bayrog‘i yordamida integral mikrosxemalar topologiyalarini aniqlash imkoniyati qo‘shildi. Versiyalash barcha x86 CPU modellari uchun amalga oshirildi;

  • SSH blok drayveri foydalanishdan olib tashlandi libssh2 haqida libsh;
  • Virtio-gpu drayveri (loyihaning bir qismi sifatida ishlab chiqilgan virtual GPU). Virgil) 2D/3D renderlash operatsiyalarini tashqi vhost-foydalanuvchi jarayoniga (masalan, vhost-user-gpu) o'tkazish uchun qo'shimcha yordam;
  • ARM arxitektura emulyatori psevdo-tasodifiy raqamlarni yaratish uchun ARMv8.5-RNG kengaytmasini qo'llab-quvvatladi. Cortex-M oilaviy chiplari uchun FPU emulyatsiyasini qo'llab-quvvatlash amalga oshirildi va Cortex-R5F uchun FPU emulyatsiyasi bilan bog'liq muammolar hal qilindi. Kconfig uslubida ishlab chiqilgan qurilish parametrlarini sozlash uchun yangi tizim taklif qilindi. SoC Exynos4210 uchun PL330 DMA kontrollerlarini qo'llab-quvvatlash qo'shildi;
  • MIPS arxitektura emulyatori katta-endian bayt tartibidan foydalanganda MSA ASE ko'rsatmalarini qo'llab-quvvatlashni yaxshiladi va nol holatlarga bo'linishni mos yozuvlar apparati bilan moslashtirdi. Butun sonlarni hisoblash va almashtirish operatsiyalari uchun MSA ko'rsatmalarini emulyatsiya qilish samaradorligi oshirildi;
  • PowerPC arxitektura emulyatori endi VFIO yordamida NVIDIA V100/NVLink2 GPU-larga yo'naltirishni qo'llab-quvvatlaydi. Pseries uchun XIVE uzilish kontrolleri emulyatsiyasini tezlashtirish amalga oshirildi va PCI ko'priklarini issiq ulash uchun yordam qo'shildi. Vektor ko'rsatmalarini emulyatsiya qilish uchun optimallashtirishlar amalga oshirildi (Altivec/VSX);
  • RISC-V arxitektura emulyatoriga yangi apparat modeli qo'shildi - "spike". ISA 1.11.0 uchun qo'shimcha qo'llab-quvvatlash. 32-bitli tizim chaqiruvi ABI takomillashtirildi, noto'g'ri ko'rsatmalar bilan ishlash yaxshilandi va o'rnatilgan tuzatuvchi yaxshilandi. Qurilmalar daraxtida protsessor topologiyasi uchun qo'shimcha yordam;
  • s390 arxitektura emulyatori "Vector Facility" guruhining barcha vektor ko'rsatmalariga taqlid qilish uchun qo'shimcha yordamni qo'shdi va gen15 tizimlarini qo'llab-quvvatlash uchun qo'shimcha elementlarni qo'shdi (jumladan, vfio-ap uchun AP Queue Interruption Facility uchun qo'shimcha yordam). vfio-ccw orqali mehmon tizimiga ulangan ECKD DASD-dan yuklash uchun BIOS-ni qo'llab-quvvatlash amalga oshirildi;
  • Sun4m tizimlari uchun SPARC arxitektura emulyatorida OpenBIOS uchun "-vga none" bayrog'idan foydalanish bilan bog'liq muammolar hal qilindi;
  • Tensilica Xtensa oilasi protsessor emulyatori MPU (xotirani himoya qilish birligi) va eksklyuziv kirish imkoniyatlarini o'z ichiga oladi;
  • “-salvage” opsiyasi “qemu-img convert” buyrug‘iga kiritish/chiqarish xatosi yuz berganda tasvirni o‘zgartirish jarayonining ishdan chiqishini o‘chirish uchun qo‘shilgan (masalan, qisman shikastlangan qcow2 fayllarini tiklash uchun foydalanish mumkin). Bir jamoada
    “qemu-img rebase” kirish fayli uchun zaxira fayl hali yaratilmaganda ishlaydi;

  • "Semihosting" texnologiyasidan foydalangan holda tashkil etilgan chiqishni chardev backendiga ("-semihosting-config enable=on,target=native"ga yo'naltirish imkoniyati qo'shildi (taqlid qilingan qurilmaga xost tomonida fayllar yaratish uchun stdout, stderr va stdin-dan foydalanishga imkon beradi) ,chardev=[ ID]");
  • VMDK blok drayverida faqat o'qish rejimida seSparse subformatini qo'llab-quvvatlash qo'shildi;
  • GPIO emulyatsiya drayverida SiFive GPIO kontrolleri uchun qo'shimcha yordam.

Manba: opennet.ru

a Izoh qo'shish