Rilis emulator QEMU 4.1

Disampaikan oleh rilis proyek QEMU 4.1. 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.1, lebih dari 2000 perubahan telah dilakukan dari 276 pengembang.

Kunci perbaikanditambahkan di QEMU 4.1:

  • Dukungan untuk model CPU Hygon Dhyana dan Intel SnowRidge telah ditambahkan ke emulator arsitektur x86. Menambahkan emulasi ekstensi RDRAND (pembuat nomor pseudo-acak perangkat keras). Menambahkan bendera
    md-clear dan mds-no untuk mengontrol perlindungan serangan MDS (Microarchitectural Data Sampling) pada prosesor Intel. Menambahkan kemampuan untuk menentukan topologi sirkuit terpadu menggunakan flag “-smp ...,dies=”. Pembuatan versi telah diterapkan untuk semua model CPU x86;

  • Driver blok SSH telah dipindahkan dari penggunaan libssh2 pada libsh;
  • Driver virtio-gpu (GPU virtual dikembangkan sebagai bagian dari proyek Virgil) menambahkan dukungan untuk memindahkan operasi rendering 2D/3D ke proses pengguna vhost eksternal (misalnya, vhost-user-gpu);
  • Emulator arsitektur ARM telah menambahkan dukungan untuk ekstensi ARMv8.5-RNG untuk menghasilkan angka pseudo-acak. Dukungan untuk emulasi FPU telah diterapkan untuk chip keluarga Cortex-M dan masalah emulasi FPU untuk Cortex-R5F telah teratasi. Sebuah sistem baru untuk mengatur opsi build, dirancang dengan gaya Kconfig, telah diusulkan. Untuk SoC Exynos4210, dukungan untuk pengontrol PL330 DMA telah ditambahkan;
  • Emulator arsitektur MIPS telah meningkatkan dukungan untuk instruksi MSA ASE saat menggunakan urutan byte big-endian dan menyelaraskan penanganan pembagian dengan kasus nol dengan perangkat keras referensi. Kinerja emulasi instruksi MSA untuk perhitungan bilangan bulat dan operasi permutasi telah ditingkatkan;
  • Emulator arsitektur PowerPC sekarang mendukung penerusan ke GPU NVIDIA V100/NVLink2 menggunakan VFIO. Untuk pseries, akselerasi emulasi pengontrol interupsi XIVE telah diterapkan dan dukungan untuk hot plugging pada jembatan PCI telah ditambahkan. Optimasi telah dilakukan pada emulasi instruksi vektor (Altivec/VSX);
  • Model perangkat keras baru telah ditambahkan ke emulator arsitektur RISC-V - “spike”. Menambahkan dukungan untuk ISA 1.11.0. ABI panggilan sistem 32-bit telah ditingkatkan, penanganan instruksi yang tidak valid telah ditingkatkan, dan debugger bawaan telah ditingkatkan. Menambahkan dukungan untuk topologi CPU di pohon perangkat;
  • Emulator arsitektur s390 telah menambahkan dukungan untuk meniru semua instruksi vektor dari grup “Fasilitas Vektor” dan menambahkan elemen tambahan untuk mendukung sistem gen15 (termasuk dukungan tambahan untuk Fasilitas Interupsi Antrean AP untuk vfio-ap). Menerapkan dukungan BIOS untuk booting dari ECKD DASD yang terikat ke sistem tamu melalui vfio-ccw;
  • Dalam emulator arsitektur SPARC untuk sistem sun4m, masalah dengan penggunaan flag “-vga none” untuk OpenBIOS telah diselesaikan;
  • Emulator prosesor keluarga Tensilica Xtensa mencakup opsi untuk MPU (unit perlindungan memori) dan akses eksklusif;
  • Opsi “-salvage” telah ditambahkan ke perintah “qemu-img convert” untuk menonaktifkan terhentinya proses konversi gambar jika terjadi kesalahan I/O (misalnya, dapat digunakan untuk memulihkan file qcow2 yang rusak sebagian). Dalam tim
    “qemu-img rebase” berfungsi ketika file pendukung belum dibuat untuk file input;

  • Menambahkan kemampuan untuk mengarahkan keluaran yang diatur menggunakan teknologi "semihosting" (memungkinkan perangkat yang diemulasi menggunakan stdout, stderr, dan stdin untuk membuat file di sisi host) ke backend chardev ("-semihosting-config aktifkan=on,target=asli ,chardev=[ ID]");
  • Menambahkan dukungan untuk subformat seSparse dalam mode read-only di driver blok VMDK;
  • Menambahkan dukungan untuk pengontrol SiFive GPIO di driver emulasi GPIO.

Sumber: opennet.ru

Tambah komentar