Keluaran emulator QEMU 5.0

Dikemukakan oleh keluaran projek QEMU 5.0. 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 5.0, lebih daripada 2800 perubahan telah dibuat daripada 232 pembangun.

kunci penambahbaikanditambah dalam QEMU 5.0:

  • Keupayaan untuk memajukan sebahagian daripada sistem fail persekitaran hos kepada sistem tetamu menggunakan virtiofsd. Sistem tetamu boleh melekapkan direktori yang ditandakan untuk eksport pada bahagian sistem hos, yang sangat memudahkan organisasi akses dikongsi kepada direktori dalam sistem virtualisasi. Tidak seperti penggunaan sistem fail rangkaian seperti NFS dan virtio-9P, virtiofs membolehkan anda mencapai prestasi hampir dengan sistem fail tempatan;
  • Sokongan pemindahan langsung data daripada proses luaran menggunakan QEMU D-Bus;
  • Kebolehgunaan hujung belakang ingatan untuk memastikan operasi RAM utama sistem tetamu. Bahagian belakang ditentukan menggunakan pilihan "-machine memory-backend";
  • Penapis "mampat" baharu, yang boleh digunakan untuk membuat sandaran imej termampat;
  • Perintah "qemu-img measure" kini boleh berfungsi dengan imej LUKS, dan pilihan "--target-is-zero" telah ditambahkan pada perintah "qemu-img convert" untuk melangkau menyifar imej sasaran;
  • Menambah sokongan percubaan untuk proses qemu-storage-daemon, menyediakan akses kepada tahap blok QEMU dan arahan QMP, termasuk menjalankan peranti blok dan pelayan NBD terbina dalam, tanpa perlu menjalankan mesin maya penuh;
  • Emulator seni bina ARM telah menambah keupayaan untuk meniru CPU Cortex-M7 dan menyediakan sokongan untuk papan PC tacoma-bmc, Netduino Plus 2 dan Orangepi. Menambah sokongan untuk peranti vTPM dan virtio-iommu kepada mesin yang dicontohi 'virt'. Keupayaan untuk menggunakan sistem hos AArch32 untuk menjalankan persekitaran tetamu KVM telah ditamatkan. Sokongan untuk meniru ciri seni bina berikut telah dilaksanakan:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Menambahkan sokongan konsol grafik pada emulator seni bina HPPA menggunakan peranti grafik Artis HP;
  • Menambah sokongan untuk arahan GINVT (Global Invalidation TLB) kepada emulator seni bina MIPS;
  • Emulasi alat pecutan perkakasan KVM untuk menjalankan sistem tetamu telah ditambahkan pada emulator seni bina PowerPC untuk mesin 'powernv'
    KVM dengan penjana kod TCG klasik (Tiny Code Generator). Untuk meniru memori yang berterusan, sokongan untuk NVDIMM yang ditunjukkan dalam fail telah ditambahkan. Untuk mesin 'pseries', keperluan untuk but semula telah dialih keluar untuk menyelaraskan operasi pengawal sampukan XIVE/XICS dalam mod "ic-mode=dual";

  • Emulator seni bina RISC-V untuk papan 'virt' dan 'sifive_u' menyediakan sokongan untuk pemacu syscon Linux standard untuk pengurusan kuasa dan but semula. Sokongan RTC Goldfish telah ditambah untuk papan 'virt'. Menambah pelaksanaan eksperimen sambungan hipervisor;
  • Sokongan AIS (Adapter Interrupt Suppression) telah ditambahkan pada emulator seni bina s390 apabila beroperasi dalam mod KVM.

Sumber: opennet.ru

Tambah komen