Izdavanje QEMU 5.0 emulatora

Poslao izdanje projekta QEMU 5.0. Kao emulator, QEMU vam omogućava da pokrenete program kompajliran za jednu hardversku platformu na sistemu sa potpuno drugom arhitekturom, na primjer, pokrenete ARM aplikaciju na x86 kompatibilnom PC-u. U režimu virtuelizacije u QEMU, performanse izvršavanja koda u izolovanom okruženju su bliske izvornom sistemu zbog direktnog izvršavanja instrukcija na CPU-u i upotrebe Xen hipervizora ili KVM modula.

Projekat je prvobitno kreirao Fabrice Bellard kako bi se omogućilo izvršavanje Linuxa napravljenih za x86 platformu da rade na arhitekturi koja nije x86. Tokom godina razvoja, dodana je puna podrška za emulaciju za 14 hardverskih arhitektura, broj emuliranih hardverskih uređaja je premašio 400. U pripremi za verziju 5.0, napravljeno je više od 2800 izmjena od 232 programera.

Ključ poboljšanjadodano u QEMU 5.0:

  • Mogućnost prosljeđivanja dijela sistema datoteka domaćinskog okruženja na gostujući sistem pomoću virtiofsd. Gostujući sistem može montirati direktorij označen za izvoz na strani host sistema, što uvelike pojednostavljuje organizaciju zajedničkog pristupa direktorijumima u virtuelizacijskim sistemima. Za razliku od upotrebe mrežnih sistema datoteka kao što su NFS i virtio-9P, virtiofs vam omogućava da postignete performanse bliske lokalnom sistemu datoteka;
  • podrška živa migracija podataka iz eksternih procesa koristeći QEMU D-Bus;
  • Upotrebljivost memorijska pozadina kako bi se osigurao rad glavne RAM memorije gostujućeg sistema. Pozadina je specificirana pomoću opcije “-machine memory-backend”;
  • Novi filter za "komprimiranje", koji se može koristiti za kreiranje sigurnosnih kopija komprimiranih slika;
  • Komanda "qemu-img mjera" sada može raditi sa LUKS slikama, a opcija "--target-is-zero" je dodana naredbi "qemu-img convert" da se preskoči nuliranje ciljne slike;
  • Dodata eksperimentalna podrška za proces qemu-storage-daemon, pružajući pristup nivou QEMU bloka i QMP komandama, uključujući pokretanje blok uređaja i ugrađeni NBD server, bez potrebe za pokretanjem pune virtuelne mašine;
  • Emulator ARM arhitekture je dodao mogućnost emulacije Cortex-M7 CPU-a i pruža podršku za tacoma-bmc, Netduino Plus 2 i Orangepi PC ploče. Dodana podrška za vTPM i virtio-iommu uređaje na 'virt' emulirane mašine. Mogućnost korištenja AArch32 host sistema za pokretanje KVM gostujućih okruženja je zastarjela. Implementirana je podrška za emulaciju sljedećih karakteristika arhitekture:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Dodata podrška za grafičku konzolu emulatoru HPPA arhitekture pomoću grafičkog uređaja HP ​​Artist;
  • Dodata podrška za GINVT (Global Invalidation TLB) instrukciju za emulator MIPS arhitekture;
  • Emulacija KVM alata za hardversko ubrzanje za pokretanje gostujućih sistema dodata je emulatoru arhitekture PowerPC za 'powernv' mašine
    KVM sa klasičnim TCG generatorom koda (Tiny Code Generator). Za emulaciju trajne memorije dodana je podrška za NVDIMM-ove koji se odražavaju u datoteci. Za 'pseries' mašine, potreba za ponovnim pokretanjem je uklonjena kako bi se koordinirao rad XIVE/XICS kontrolera prekida u “ic-mode=dual” modu;

  • Emulator RISC-V arhitekture za 'virt' i 'sifive_u' ploče pruža podršku za standardne Linux syscon drajvere za upravljanje napajanjem i ponovnim pokretanjem. Goldfish RTC podrška je dodana za 'virt' ploču. Dodata eksperimentalna implementacija proširenja hipervizora;
  • AIS (Adapter Interrupt Suppression) podrška je dodata emulatoru arhitekture s390 kada radi u KVM režimu.

izvor: opennet.ru

Dodajte komentar