Itusilẹ ti QEMU 5.0 emulator

Agbekale idasilẹ ise agbese QEMU 5.0. Gẹgẹbi emulator, QEMU ngbanilaaye lati ṣiṣe eto ti o ṣajọ fun iru ẹrọ ohun elo kan lori eto pẹlu faaji ti o yatọ patapata, fun apẹẹrẹ, ṣiṣe ohun elo ARM kan lori PC ibaramu x86 kan. Ni ipo agbara agbara ni QEMU, iṣẹ ti ipaniyan koodu ni agbegbe ti o ya sọtọ jẹ isunmọ si eto abinibi nitori ipaniyan taara ti awọn ilana lori Sipiyu ati lilo Xen hypervisor tabi module KVM.

Ise agbese na ni akọkọ ṣẹda nipasẹ Fabrice Bellard lati gba awọn iṣẹ ṣiṣe Linux ti a ṣe fun pẹpẹ x86 lati ṣiṣẹ lori awọn faaji ti kii ṣe x86. Ni awọn ọdun ti idagbasoke, atilẹyin imulation ni kikun ti ni afikun fun awọn ile-iṣẹ ohun elo 14, nọmba awọn ohun elo ohun elo ti o ti kọja 400. Ni igbaradi fun ẹya 5.0, diẹ sii ju awọn ayipada 2800 ti ṣe lati awọn olupilẹṣẹ 232.

Bọtini awọn ilọsiwajufi kun ni QEMU 5.0:

  • Agbara lati firanṣẹ apakan ti eto faili ti agbegbe ogun si eto alejo nipa lilo virtifsd. Eto alejo le gbe iwe ilana ti o samisi fun okeere si ẹgbẹ eto agbalejo, eyiti o rọrun pupọ ti iṣeto ti iraye si pinpin si awọn ilana ni awọn ọna ṣiṣe agbara. Ko awọn lilo ti nẹtiwọki faili awọn ọna šiše bi NFS ati virtio-9P, virtiofs faye gba o lati se aseyori išẹ sunmo si a agbegbe faili eto;
  • .Оддержка ijira laaye ti data lati awọn ilana ita ni lilo QEMU D-Bus;
  • Lilo iranti backend lati rii daju iṣẹ ti Ramu akọkọ ti eto alejo. Awọn backend ti wa ni pato nipa lilo aṣayan "-machine iranti-backend";
  • Ajọ tuntun “compress”, eyiti o le ṣee lo lati ṣẹda awọn afẹyinti aworan fisinuirindigbindigbin;
  • Aṣẹ “qemu-img odiwọn” le ṣiṣẹ bayi pẹlu awọn aworan LUKS, ati pe aṣayan “--target-is-zero” ti ṣafikun si aṣẹ “qemu-img iyipada” lati foju zeroing aworan ibi-afẹde;
  • Atilẹyin esiperimenta ti a ṣafikun fun ilana qemu-storage-daemon, n pese iraye si ipele bulọọki QEMU ati awọn pipaṣẹ QMP, pẹlu awọn ẹrọ bulọọki ṣiṣiṣẹ ati olupin NBD ti a ṣe sinu, laisi nini lati ṣiṣẹ ẹrọ foju kikun;
  • emulator faaji ARM ti ṣafikun agbara lati farawe awọn CPUs Cortex-M7 ati pese atilẹyin fun tacoma-bmc, Netduino Plus 2 ati awọn igbimọ PC Orangepi. Atilẹyin ti a ṣafikun fun vTPM ati awọn ẹrọ virtio-iommu si awọn ẹrọ afarawe 'virt'. Agbara lati lo awọn ọna ṣiṣe agbalejo AArch32 lati ṣiṣe awọn agbegbe alejo KVM ti jẹ idinku. Atilẹyin fun apẹẹrẹ ti awọn ẹya faaji wọnyi ti ni imuse:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Atilẹyin console awọn aworan ti a ṣafikun si emulator faaji ti HPPA ni lilo ẹrọ eya aworan olorin HP;
  • Atilẹyin ti a ṣafikun fun itọnisọna GINVT (Invalidation TLB) agbaye si emulator faaji MIPS;
  • Imudara ti awọn irinṣẹ isare ohun elo KVM fun ṣiṣe awọn eto alejo ni a ti ṣafikun si emulator faaji PowerPC fun awọn ẹrọ 'powernv'
    KVM pẹlu olupilẹṣẹ koodu TCG Ayebaye (Ipilẹṣẹ koodu Tiny). Lati farawe iranti itẹramọṣẹ, atilẹyin fun awọn NVDIMM ti o han ninu faili ti ṣafikun. Fun awọn ẹrọ 'pseries', iwulo lati atunbere ti yọkuro lati ṣatunṣe iṣẹ ti awọn olutona idalọwọduro XIVE/XICS ni ipo “ic-mode=meji”;

  • Emulator faaji RISC-V fun awọn igbimọ 'virt' ati 'sifive_u' n pese atilẹyin fun awọn awakọ syscon Linux boṣewa fun agbara ati iṣakoso atunbere. Atilẹyin Goldfish RTC ti ṣafikun fun igbimọ 'virt'. Fikun imuse esiperimenta ti awọn amugbooro hypervisor;
  • Atilẹyin AIS (Imudaniloju Idilọwọ Adapter) ti ṣafikun si emulator faaji s390 nigbati o nṣiṣẹ ni ipo KVM.

orisun: opennet.ru

Fi ọrọìwòye kun