Keluaran emulator QEMU 4.1

Dikemukakan oleh keluaran projek QEMU 4.1. Sebagai emulator, QEMU membenarkan anda menjalankan program yang disusun untuk satu platform perkakasan pada sistem dengan seni bina yang sama sekali berbeza, contohnya, menjalankan aplikasi ARM pada PC yang serasi dengan x86. Dalam mod maya dalam QEMU, prestasi pelaksanaan kod dalam persekitaran terpencil adalah hampir dengan sistem asli disebabkan oleh pelaksanaan langsung arahan pada CPU dan penggunaan modul Xen hypervisor atau KVM.

Projek ini pada asalnya dicipta oleh Fabrice Bellard untuk membolehkan laksana Linux dibina untuk platform x86 berjalan pada seni bina bukan x86. Sepanjang tahun pembangunan, sokongan emulasi penuh telah ditambah untuk 14 seni bina perkakasan, bilangan peranti perkakasan yang dicontohi telah melebihi 400. Sebagai persediaan untuk versi 4.1, lebih daripada 2000 perubahan telah dibuat daripada 276 pembangun.

kunci penambahbaikanditambah dalam QEMU 4.1:

  • Sokongan untuk model CPU Hygon Dhyana dan Intel SnowRidge telah ditambahkan pada emulator seni bina x86. Penambahan emulasi sambungan RDRAND (penjana nombor pseudo-rawak perkakasan). Ditambah bendera
    md-clear dan mds-no untuk mengawal perlindungan serangan MDS (Pensampelan Data Senibina Mikro) pada pemproses Intel. Menambah keupayaan untuk menentukan topologi litar bersepadu menggunakan bendera "-smp ...,dies=". Versi telah dilaksanakan untuk semua model CPU x86;

  • Pemacu blok SSH telah dialihkan daripada menggunakan libssh2 pada libsh;
  • Pemacu virtio-gpu (GPU maya dibangunkan sebagai sebahagian daripada projek Virgil) menambah sokongan untuk mengalihkan operasi pemaparan 2D/3D kepada proses vhost-pengguna luaran (contohnya, vhost-user-gpu);
  • Emulator seni bina ARM telah menambah sokongan untuk sambungan ARMv8.5-RNG untuk menjana nombor pseudo-rawak. Sokongan untuk emulasi FPU telah dilaksanakan untuk cip keluarga Cortex-M dan masalah dengan emulasi FPU untuk Cortex-R5F telah diselesaikan. Sistem baharu untuk menetapkan pilihan binaan, direka dalam gaya Kconfig, telah dicadangkan. Untuk SoC Exynos4210, sokongan untuk pengawal PL330 DMA telah ditambah;
  • Emulator seni bina MIPS telah menambah baik sokongan untuk arahan MSA ASE apabila menggunakan susunan bait besar-endian dan menjajarkan pengendalian pembahagian dengan kes sifar dengan perkakasan rujukan. Prestasi emulasi arahan MSA untuk pengiraan integer dan operasi pilih atur telah ditingkatkan;
  • Emulator seni bina PowerPC kini menyokong pemajuan ke GPU NVIDIA V100/NVLink2 menggunakan VFIO. Untuk pseries, pecutan emulasi pengawal gangguan XIVE telah dilaksanakan dan sokongan untuk palam panas jambatan PCI telah ditambah. Pengoptimuman telah dibuat kepada emulasi arahan vektor (Altivec/VSX);
  • Model perkakasan baharu telah ditambahkan pada emulator seni bina RISC-V - "spike". Menambah sokongan untuk ISA 1.11.0. ABI panggilan sistem 32-bit telah dipertingkatkan, pengendalian arahan tidak sah telah dipertingkatkan dan penyahpepijat terbina dalam telah dipertingkatkan. Menambah sokongan untuk topologi CPU dalam pepohon peranti;
  • Emulator seni bina s390 telah menambah sokongan untuk meniru semua arahan vektor kumpulan "Kemudahan Vektor" dan menambahkan elemen tambahan untuk menyokong sistem gen15 (termasuk sokongan tambahan untuk Kemudahan Gangguan Gilir AP untuk vfio-ap). Sokongan BIOS yang dilaksanakan untuk but daripada ECKD DASD terikat kepada sistem tetamu melalui vfio-ccw;
  • Dalam emulator seni bina SPARC untuk sistem sun4m, masalah menggunakan bendera "-vga none" untuk OpenBIOS telah diselesaikan;
  • Emulator pemproses keluarga Tensilica Xtensa termasuk pilihan untuk MPU (unit perlindungan memori) dan akses eksklusif;
  • Pilihan "-salvage" telah ditambahkan pada perintah "qemu-img convert" untuk melumpuhkan ranap proses penukaran imej sekiranya berlaku ralat I/O (contohnya, boleh digunakan untuk memulihkan fail qcow2 yang rosak sebahagian). Dalam satu pasukan
    β€œqemu-img rebase” berfungsi apabila fail sandaran belum lagi dibuat untuk fail input;

  • Menambahkan keupayaan untuk mengubah hala keluaran yang dianjurkan menggunakan teknologi "semihosting" (membolehkan peranti yang dicontohi menggunakan stdout, stderr dan stdin untuk mencipta fail pada bahagian hos) ke bahagian belakang chardev ("-semhosting-config enable=on,target=native ,chardev=[ ID]");
  • Menambah sokongan untuk subformat seSparse dalam mod baca sahaja dalam pemacu blok VMDK;
  • Menambah sokongan untuk pengawal SiFive GPIO dalam pemacu emulasi GPIO.

Sumber: opennet.ru

Tambah komen