QEMU 6.0 emulyatorunun buraxılışı

QEMU 6.0 layihəsinin buraxılışı təqdim olunur. Emulator kimi QEMU sizə tam fərqli arxitekturaya malik sistemdə bir aparat platforması üçün qurulmuş proqramı işlətməyə imkan verir, məsələn, x86 uyğun PC-də ARM tətbiqini işə salın. QEMU-da virtuallaşdırma rejimində, təcrid olunmuş mühitdə kodun icrasının performansı CPU-da təlimatların birbaşa yerinə yetirilməsi və Xen hipervizorunun və ya KVM modulunun istifadəsi səbəbindən aparat sisteminə yaxındır.

Layihə əvvəlcə Fabrice Bellard tərəfindən x86 platforması üçün qurulmuş Linux icra sənədlərinin x86 olmayan arxitekturalarda işləməsinə icazə vermək üçün yaradılmışdır. İnkişaf illəri ərzində 14 aparat arxitekturası üçün tam emulyasiya dəstəyi əlavə edilib, emulyasiya edilmiş aparat qurğularının sayı 400-ü keçib. 6.0 versiyasına hazırlıq zamanı 3300 tərtibatçıdan 268-dən çox dəyişiklik edilib.

QEMU 6.0-də əlavə edilmiş əsas təkmilləşdirmələr:

  • NVMe nəzarətçi emulyatoru NVMe 1.4 spesifikasiyasına uyğunlaşdırılıb və zonalı ad məkanları, çoxyollu I/O və sürücüdə uçdan-uca məlumat şifrələməsi üçün eksperimental dəstək ilə təchiz olunub.
  • Cihaz emulyasiyasını xarici proseslərə köçürmək üçün “-machine x-remote” və “-device x-pci-proxy-dev” eksperimental seçimləri əlavə edildi. Bu rejimdə hazırda yalnız lsi53c895 SCSI adapterinin emulyasiyası dəstəklənir.
  • RAM məzmununun anlıq görüntülərini yaratmaq üçün eksperimental dəstək əlavə edildi.
  • Qonaq sistemində istifadə olunan istənilən blok cihazının vəziyyətinin bir hissəsini quraşdırmağa imkan verən blok cihazlarını ixrac etmək üçün FUSE modulu əlavə edildi. İxrac QMP əmr bloku-ixrac-əlavə və ya qemu-storage-daemon yardım proqramında “--export” seçimi vasitəsilə həyata keçirilir.
  • ARM emulyatoru ARMv8.1-M 'Helium' arxitekturası və Cortex-M55 prosessorları, həmçinin ARMv8.4 genişləndirilmiş TTST, SEL2 və DIT təlimatları üçün dəstək əlavə edir. ARM lövhələri mps3-an524 və mps3-an547 üçün əlavə dəstək. Xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx və sabrelite lövhələri üçün əlavə cihaz emulyasiyası həyata keçirilib.
  • ARM üçün sistem və istifadəçi mühiti səviyyələrində emulyasiya rejimlərində ARMv8.5 MTE (MemTag, Memory Tagging Extension) genişlənməsinə dəstək həyata keçirilib ki, bu da hər bir yaddaş ayırma əməliyyatına teqləri bağlamağa və lazım olduqda göstərici yoxlamasını təşkil etməyə imkan verir. düzgün etiketlə əlaqələndirilməli olan yaddaşa daxil olmaq. Artırma artıq boşaldılmış yaddaş bloklarına, bufer daşqınlarına, işə salınmazdan əvvəl girişlərə və cari kontekstdən kənar istifadəyə daxil olmaq nəticəsində yaranan zəifliklərin istismarını bloklamaq üçün istifadə edilə bilər.
  • 68k arxitektura emulyatoru performansı optimallaşdırmaq üçün virtio cihazlardan istifadə edən yeni emulyasiya edilmiş maşın "virt" üçün dəstək əlavə etdi.
  • X86 emulyatoru qonaq sistemində istifadə olunan prosessor registrlərini şifrələmək üçün AMD SEV-ES (Təhlükəsiz Şifrələnmiş Virtuallaşdırma) texnologiyasından istifadə etmək imkanı əlavə edir və qonaq sistemi onlara açıq şəkildə giriş icazəsi vermədiyi halda registrlərin məzmununu host mühiti üçün əlçatmaz edir.
  • Klassik TCG (Tiny Code Generator) kod generatoru, x86 sistemlərini təqlid edərkən, imtiyazlı yaddaş səhifələrinə girişi qorumaq üçün istifadə edilə bilən PKS (Protection Keys Supervisor) mexanizmi üçün dəstəyi həyata keçirir.
  • Çin Loongson-3 prosessorlarını dəstəkləyən MIPS arxitektura emulyatoruna yeni növ “virt” təqlid edilmiş maşınlar əlavə edildi.
  • Təqlid edilmiş “powernv” maşınları üçün PowerPC arxitektura emulyatorunda xarici BMC nəzarətçiləri üçün dəstək əlavə edilmişdir. Təqlid edilmiş pseries maşınları üçün yaddaşı və CPU-nu isti şəkildə çıxarmağa cəhd edərkən uğursuzluqlar barədə bildiriş verilir.
  • DSP ilə Qualcomm Hexagon prosessorlarını təqlid etmək üçün əlavə dəstək.
  • Klassik TCG (Tiny Code Generator) kod generatoru yeni Apple M1 ARM çipi ilə sistemlərdə macOS host mühitlərini dəstəkləyir.
  • Microchip PolarFire lövhələri üçün RISC-V arxitektura emulyatoru QSPI NOR flashı dəstəkləyir.
  • Tricore emulyatoru indi Infineon TC27x SoC-ni təqlid edən yeni TriBoard lövhə modelini dəstəkləyir.
  • ACPI emulyatoru qonaq sistemlərindəki şəbəkə adapterlərinə onların PCI avtobusuna qoşulma ardıcıllığından asılı olmayaraq adlar təyin etmək imkanı verir.
  • virtiofs qonaq performansını yaxşılaşdırmaq üçün FUSE_KILLPRIV_V2 seçimi üçün dəstək əlavə etdi.
  • VNC kursor şəffaflığı üçün dəstək və pəncərə ölçüsünə əsaslanaraq virtio-vga-da ekran həllini miqyaslandırma dəstəyi əlavə etdi.
  • QMP (QEMU Machine Protocol) ehtiyat nüsxə tapşırıqlarını yerinə yetirərkən asinxron paralel giriş üçün dəstək əlavə etdi.
  • USB emulyatoru USB cihazları ilə işləyərkən yaranan trafiki Wireshark-da sonrakı yoxlama üçün ayrıca pcap faylına saxlamaq imkanı əlavə etdi.
  • Qcow2 snapshotlarını idarə etmək üçün yeni QMP əmrləri yüklə-snapshot, saxla-snapshot və sil-snapshot əlavə edildi.
  • CVE-2020-35517 və CVE-2021-20263 boşluqları virtioflarda düzəldildi. Birinci problem, host mühiti ilə paylaşılan kataloqda imtiyazlı istifadəçi tərəfindən qonaq sistemində xüsusi qurğular faylı yaratmaqla qonaq sistemindən host mühitinə daxil olmağa imkan verir. İkinci problem 'xatrmap' seçimində genişləndirilmiş atributların idarə edilməsində səhvdən qaynaqlanır və qonaq sistemində yazma icazələrinin nəzərə alınmamasına və imtiyazların artmasına səbəb ola bilər.

Mənbə: opennet.ru

Добавить комментарий