Rilis emulator QEMU 4.0

Terbentuk rilis proyek QEMU 4.0. Sebagai emulator, QEMU memungkinkan Anda menjalankan program yang dikompilasi untuk satu platform perangkat keras pada sistem dengan arsitektur yang sama sekali berbeda, misalnya menjalankan aplikasi ARM pada PC yang kompatibel dengan x86. Dalam mode virtualisasi di QEMU, kinerja eksekusi kode di lingkungan terisolasi mendekati sistem asli karena eksekusi instruksi langsung pada CPU dan penggunaan modul Xen hypervisor atau KVM.

Proyek ini awalnya dibuat oleh Fabrice Bellard untuk memungkinkan executable Linux yang dibuat untuk platform x86 agar berjalan pada arsitektur non-x86. Selama bertahun-tahun pengembangan, dukungan emulasi penuh telah ditambahkan untuk 14 arsitektur perangkat keras, jumlah perangkat keras yang ditiru telah melebihi 400. Dalam persiapan untuk versi 4.0, lebih dari 3100 perubahan telah dilakukan dari 220 pengembang.

Kunci perbaikanditambahkan di QEMU 4.0:

  • Dukungan untuk ekstensi instruksi ARMv8+ telah ditambahkan ke emulator arsitektur ARM: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT dan BTI. Menambahkan dukungan untuk meniru papan Musca dan MPS2. Peningkatan emulasi ARM PMU (Unit Manajemen Daya). Ke peron kebajikan menambahkan kemampuan untuk menggunakan lebih dari 255 GB RAM dan dukungan untuk image u-boot dengan tipe "noload";

  • Dalam emulator arsitektur x86 di mesin akselerasi virtualisasi HAX (Intel Hardware Accelerated Execution) menambahkan dukungan untuk host yang mendukung POSIX seperti Linux dan NetBSD (sebelumnya hanya platform Darwin yang didukung). Dalam emulator chipset Q35 (ICH9) untuk port PCIe utama, kecepatan maksimum (16GT/s) dan jumlah jalur koneksi (x32) yang ditentukan dalam spesifikasi PCIe 4.0 kini dapat dinyatakan secara opsional (untuk memastikan kompatibilitas, 2.5GT adalah diinstal secara default untuk jenis mesin QEMU lama /s dan x1). Dimungkinkan untuk memuat gambar Xen PVH dengan opsi “-kernel”;
  • Emulator arsitektur MIPS telah menambahkan dukungan untuk emulasi multi-thread menggunakan generator kode TCG (Tiny Code Generator) klasik. Ditambahkan juga dukungan emulasi CPU I7200 (nanoMIPS32 ISA) dan I6500 (MIPS64R6 ISA), kemampuan memproses permintaan tipe CPU menggunakan QMP (QEMU Management Protocol), menambahkan dukungan register konfigurasi SAARI dan SAAR. Peningkatan kinerja mesin virtual dengan tipe Fulong 2E. Pembaruan implementasi Unit Komunikasi Antar Thread;
  • Dalam emulator arsitektur PowerPC, dukungan untuk meniru pengontrol interupsi XIVE telah ditambahkan, dukungan untuk POWER9 telah diperluas, dan untuk seri P, kemampuan untuk hot plug jembatan host PCI (PHB, jembatan host PCI) telah ditambahkan. Perlindungan terhadap serangan Spectre dan Meltdown diaktifkan secara default;
  • Dukungan untuk emulasi PCI dan USB telah ditambahkan ke emulator arsitektur RISC-V. Server debugging bawaan (gdbserver) sekarang mendukung penentuan daftar register dalam file XML. Menambahkan dukungan untuk bidang mstatus TSR, TW dan TVM;
  • Emulator arsitektur s390 telah menambahkan dukungan untuk model CPU z14 GA 2, serta dukungan untuk meniru ekstensi instruksi untuk operasi floating point dan vektor. Kemampuan untuk melakukan hot-plug perangkat telah ditambahkan ke vfio-ap;
  • Emulator prosesor keluarga Tensilica Xtensa telah meningkatkan dukungan SMP untuk Linux dan menambahkan dukungan untuk FLIX (ekstensi instruksi panjang fleksibel);
  • Opsi '-display Spice-app' telah ditambahkan ke antarmuka grafis untuk mengonfigurasi dan meluncurkan versi klien akses jarak jauh Spice dengan desain yang mirip dengan antarmuka QEMU GTK;
  • Menambahkan dukungan untuk kontrol akses menggunakan opsi tls-authz/sasl-authz ke implementasi server VNC;
  • QMP (QEMU Management Protocol) menambahkan dukungan untuk eksekusi perintah terpusat/eksternal (Out-of-band) dan menerapkan perintah tambahan untuk bekerja dengan perangkat blok;
  • Implementasi antarmuka EDID telah ditambahkan ke VFIO untuk mdevs yang didukung (Intel vGPUs), memungkinkan Anda mengubah resolusi layar menggunakan opsi xres dan yres;
  • Perangkat 'xen-disk' baru telah ditambahkan untuk Xen, yang dapat secara mandiri membuat backend disk untuk Xen PV (tanpa mengakses xenstore). Kinerja backend disk Xen PV telah ditingkatkan dan kemampuan untuk mengubah ukuran disk telah ditambahkan;
  • Kemampuan diagnostik dan penelusuran telah diperluas di perangkat blok jaringan, dan kompatibilitas klien dengan implementasi server NBD yang bermasalah telah ditingkatkan. Menambahkan opsi “--bitmap”, “--list” dan “--tls-authz” ke qemu-nbd;
  • Menambahkan dukungan untuk mode PCI IDE ke perangkat IDE/via yang ditiru;
  • Menambahkan dukungan untuk menggunakan algoritma lzfse untuk mengompresi gambar dmg. Untuk format qcow2, dukungan untuk menghubungkan file data eksternal telah ditambahkan. operasi pembongkaran qcow2 dipindahkan ke thread terpisah. Menambahkan dukungan untuk operasi “blockdev-create” di image vmdk;
  • Perangkat blok virtio-blk telah menambahkan dukungan untuk operasi DISCARD (menginformasikan tentang pelepasan blok) dan WRITE_ZEROES (memusatkan rentang blok logis);
  • Perangkat pvrdma mendukung layanan Datagram Manajemen RDMA (MAD);
  • Berkontribusi perubahan, melanggar kompatibilitas ke belakang. Misalnya, alih-alih menggunakan opsi "pegangan" di "-fsdev" dan "-virtfs", Anda harus menggunakan opsi "lokal" atau "proxy". Opsi “-virtioconsole” (diganti dengan “-device virtconsole”), “-no-frame”, “-clock”, “-enable-hax” (diganti dengan “-accel hax”) telah dihapus. Perangkat "ivshmem" yang dihapus (harus menggunakan "ivshmem-doorbell" dan "ivshmem-plain"). Dukungan untuk membangun dengan SDL1.2 telah dihentikan (Anda perlu menggunakan SDL2).

Sumber: opennet.ru

Tambah komentar