Rilis emulator QEMU 5.0

Disampaikan oleh rilis proyek QEMU 5.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 5.0, lebih dari 2800 perubahan telah dilakukan dari 232 pengembang.

Kunci perbaikanditambahkan di QEMU 5.0:

  • Kemampuan untuk meneruskan bagian dari sistem file lingkungan host ke sistem tamu menggunakan virtiofsd. Sistem tamu dapat memasang direktori yang ditandai untuk diekspor di sisi sistem host, yang sangat menyederhanakan pengorganisasian akses bersama ke direktori dalam sistem virtualisasi. Berbeda dengan penggunaan sistem file jaringan seperti NFS dan virtio-9P, virtiofs memungkinkan Anda mencapai kinerja yang mendekati sistem file lokal;
  • Dukungan migrasi data langsung dari proses eksternal menggunakan QEMU D-Bus;
  • Kegunaan backend memori untuk memastikan pengoperasian RAM utama sistem tamu. Backend ditentukan menggunakan opsi β€œ-machine memory-backend”;
  • Filter "kompres" baru, yang dapat digunakan untuk membuat cadangan gambar terkompresi;
  • Perintah "qemu-img size" sekarang dapat bekerja dengan gambar LUKS, dan opsi "--target-is-zero" telah ditambahkan ke perintah "qemu-img convert" untuk melewati penekanan gambar target;
  • Menambahkan dukungan eksperimental untuk proses qemu-storage-daemon, menyediakan akses ke level blok QEMU dan perintah QMP, termasuk menjalankan perangkat blok dan server NBD bawaan, tanpa harus menjalankan mesin virtual penuh;
  • Emulator arsitektur ARM telah menambahkan kemampuan untuk meniru CPU Cortex-M7 dan memberikan dukungan untuk papan PC tacoma-bmc, Netduino Plus 2 dan Orangepi. Menambahkan dukungan untuk perangkat vTPM dan virtio-iommu ke mesin emulasi 'virt'. Kemampuan untuk menggunakan sistem host AArch32 untuk menjalankan lingkungan tamu KVM sudah tidak digunakan lagi. Dukungan untuk emulasi fitur arsitektur berikut telah diterapkan:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Menambahkan dukungan konsol grafis ke emulator arsitektur HPPA menggunakan perangkat grafis HP Artist;
  • Menambahkan dukungan untuk instruksi GINVT (Global Invalidation TLB) ke emulator arsitektur MIPS;
  • Emulasi alat akselerasi perangkat keras KVM untuk menjalankan sistem tamu telah ditambahkan ke emulator arsitektur PowerPC untuk mesin 'powernv'
    KVM dengan generator kode TCG klasik (Tiny Code Generator). Untuk meniru memori persisten, dukungan untuk NVDIMM yang tercermin dalam file telah ditambahkan. Untuk mesin 'pseries', kebutuhan untuk melakukan boot ulang telah dihilangkan untuk mengoordinasikan pengoperasian pengontrol interupsi XIVE/XICS dalam mode β€œic-mode=dual”;

  • Emulator arsitektur RISC-V untuk board 'virt' dan 'sifive_u' menyediakan dukungan untuk driver syscon Linux standar untuk manajemen daya dan reboot. Dukungan RTC Ikan Mas telah ditambahkan untuk papan 'kebajikan'. Menambahkan implementasi eksperimental ekstensi hypervisor;
  • Dukungan AIS (Adapter Interrupt Suppression) telah ditambahkan ke emulator arsitektur s390 saat beroperasi dalam mode KVM.

Sumber: opennet.ru

Tambah komentar