QEMU 7.2 emulyatorining chiqarilishi

QEMU 7.2 loyihasining chiqarilishi taqdim etildi. 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 kodni bajarish ko'rsatkichlari apparat tizimiga 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. 7.2 versiyasini tayyorlashda 1800 ta dasturchi tomonidan 205 dan ortiq oʻzgartirishlar kiritildi.

QEMU 7.2 ga qo'shilgan asosiy yaxshilanishlar:

  • Klassik TCG kod generatoridagi x86 emulyatori AVX, AVX2, F16C, FMA3 va VAES ko'rsatmalarini qo'llab-quvvatlashni, shuningdek, SSE ko'rsatmalaridan foydalanish bilan bog'liq ishlashni optimallashtirishni qo'shdi. KVM uchun virtual mashinaning chiqishlarini kuzatish mexanizmini qo'llab-quvvatlash qo'shildi ("vmexit haqida xabar berish"), bu protsessorda osib qo'yishga olib keladigan xatolarni chetlab o'tish imkonini beradi.
  • ARM emulyatori Cortex-A35 protsessor va protsessor kengaytmalarini ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (kirish bayrogʻi va “iflos” holatni apparat nazorati) qoʻllab-quvvatlaydi. va E0PD (EL0 ning bo'lingan manzil xaritalariga kirishini oldini olish).
  • LoongArch emulyatori fw_cfg DMA, hot-plug xotirasi va TPM (Ishonchli platforma moduli) qurilma emulyatsiyasini qo'llab-quvvatlaydi.
  • OpenRISC arxitektura emulyatori qurilmalarni sinash va ulardan uzluksiz integratsiya tizimlarida foydalanish uchun "virt" platformasini amalga oshiradi. Klassik TCG (Tiny Code Generator) kod generatorining ko'p tarmoqli bajarilishini qo'llab-quvvatlash amalga oshirildi.
  • RISC-V arxitekturasining emulyatori "virt" taqlid qilingan mashinalarda S-rejimida pflash-dan mikrodasturlarni yuklash imkoniyatiga ega. Qurilma daraxti bilan ishlash yaxshilandi.
  • 390x emulyatori MSA5 (pseudo-tasodifiy raqamlarni yaratish uchun PRNO yo'riqnomasi bilan Message-Security-Assist Extension 5), KIMD/KLM ko'rsatmalari (SHA-512 ni amalga oshirish) va KVM gipervizoriga asoslangan mehmon tizimlari uchun kengaytirilgan zPCI talqinini qo'llab-quvvatlaydi. .
  • Xotira bilan ishlash uchun backendlar NUMA arxitekturasini hisobga olgan holda xotirani oldindan taqsimlashni ta'minlaydi.
  • LUKS shifrlangan blok qurilmalarining sarlavhalarini tekshirish kuchaytirildi va macOS-da LUKS tasvirlarini yaratish imkoniyati qo'shildi.
  • Bitta virtual mashinaga boshqasiga kirish uchun Plan 9 tarmoq fayl tizimidan foydalanish imkonini beruvchi 9pfs backend identifikatorlar jadvalidagi GHashTable xesh-dan foydalanishga o‘tdi, bu esa ba’zi holatlarda unumdorlikning 6-12 barobar oshishiga olib keldi.
  • Yangi netdev backends oqimi va dgram qo'shildi.
  • ARM-ga asoslangan mehmonlar uchun agentga FreeBSD yordami qo'shildi.
  • MacOS uchun yaratilgan grafik interfeysi bitta bajariladigan faylga Kakao va SDL/GTK asosidagi interfeyslarni kiritish imkoniyatini beradi.
  • O'rnatilgan "slirp" submodul o'chirildi, uning o'rniga libslirp tizim kutubxonasidan foydalanish tavsiya etiladi.
  • Sinov imkoniyati yo'qligi sababli, Big Endian bayt tartibidan foydalanadigan 32-bitli MIPS protsessorlari bilan xost tizimlarini qo'llab-quvvatlash bekor qilindi.

Manba: opennet.ru

a Izoh qo'shish