QEMU 4.1 -emulaattorin julkaisu

Lähettäjä projektin julkaisu QEMU 4.1. Emulaattorina QEMU mahdollistaa yhdelle laitteistoalustalle käännetyn ohjelman suorittamisen järjestelmässä, jossa on täysin erilainen arkkitehtuuri, esimerkiksi ARM-sovellusta x86-yhteensopivalla PC:llä. QEMU:n virtualisointitilassa koodin suoritus eristetyssä ympäristössä on lähellä alkuperäistä järjestelmää, koska käskyt suoritetaan suoraan suorittimessa ja Xen-hypervisor- tai KVM-moduulia käytetään.

Projektin loi alun perin Fabrice Bellard salliakseen x86-alustalle rakennettujen Linux-suoritustiedostojen ajamisen muissa kuin x86-arkkitehtuureissa. Vuosien kehitystyön aikana täysi emulointituki on lisätty 14 laitteistoarkkitehtuurille, emuloitujen laitteistojen määrä on ylittänyt 400. Version 4.1 valmistelemiseksi on tehty yli 2000 muutosta 276 kehittäjältä.

Avain parannuksialisätty QEMU 4.1:ssä:

  • Tuki Hygon Dhyana- ja Intel SnowRidge -suoritinmalleille on lisätty x86-arkkitehtuurin emulaattoriin. Lisätty RDRAND-laajennuksen emulointi (laitteiston pseudosatunnaislukugeneraattori). Liput lisätty
    md-clear ja mds-no hallitsevat hyökkäyssuojausta MDS (Mikroarkkitehtoninen datanäytteenotto) Intel-suorittimissa. Lisätty mahdollisuus määrittää integroitujen piirien topologiat käyttämällä lippua "-smp ...,dies=". Versiointi on toteutettu kaikille x86-suoritinmalleille;

  • SSH-lohkoohjain on siirretty pois käytöstä libssh2 päälle libsh;
  • virtio-gpu-ohjain (virtuaalinen GPU kehitetty osana projektia Virgil) lisätty tuki 2D/3D-renderöintitoimintojen siirtämiseen ulkoiseen vhost-user-prosessiin (esimerkiksi vhost-user-gpu);
  • ARM-arkkitehtuurin emulaattori on lisännyt tuen ARMv8.5-RNG-laajennukselle näennäissatunnaisten numeroiden luomiseksi. FPU-emuloinnin tuki on otettu käyttöön Cortex-M-perheen siruille ja Cortex-R5F:n FPU-emuloinnin ongelmat on ratkaistu. On ehdotettu uutta Kconfig-tyyliin suunniteltua rakennusvaihtoehtojen asettamisjärjestelmää. SoC Exynos4210:een on lisätty tuki PL330 DMA-ohjaimille;
  • MIPS-arkkitehtuurin emulaattori on parantanut tukea MSA ASE -käskyille käytettäessä big endian tavujärjestystä ja kohdistanut nollatapauksilla jaon käsittelyn vertailulaitteistoon. Kokonaislukulaskelmien ja permutaatiooperaatioiden MSA-käskyjen emuloinnin suorituskykyä on lisätty;
  • PowerPC-arkkitehtuurin emulaattori tukee nyt edelleenlähetystä NVIDIA V100/NVLink2 -grafiikkasuorittimiin VFIO:n avulla. Pseriesille on otettu käyttöön XIVE-keskeytysohjaimen emuloinnin kiihdytys ja lisätty tuki PCI-siltojen hot pluggingille. Vektorikäskyjen emulointiin on tehty optimointeja (Altivec/VSX);
  • RISC-V-arkkitehtuurin emulaattoriin on lisätty uusi laitteistomalli - "piikki". Lisätty tuki ISA 1.11.0:lle. 32-bittistä järjestelmäkutsua ABI on parannettu, virheellisten käskyjen käsittelyä on parannettu ja sisäänrakennettua debuggeria on parannettu. Lisätty tuki CPU-topologialle laitepuussa;
  • S390-arkkitehtuurin emulaattori on lisännyt tuen kaikkien "Vector Facility" -ryhmän vektoriohjeiden emulointiin ja lisännyt lisäelementtejä tukemaan gen15-järjestelmiä (mukaan lukien lisätty tuki vfio-ap:n AP Queue Interruption Facilitylle). Toteutettu BIOS-tuki käynnistämiseen ECKD DASD:stä, joka on sidottu vierasjärjestelmään vfio-ccw:n kautta;
  • Sun4m-järjestelmien SPARC-arkkitehtuuriemulaattorissa ongelmat "-vga none" -lipun käytössä OpenBIOSissa on ratkaistu;
  • Tensilica Xtensa -perheen prosessoriemulaattori sisältää vaihtoehdot MPU:lle (muistin suojausyksikkö) ja eksklusiivisen pääsyn;
  • "-salvage" -vaihtoehto on lisätty "qemu-img convert" -komentoon poistamaan kuvan muunnosprosessin kaatuminen I/O-virheiden sattuessa (voidaan käyttää esimerkiksi osittain vaurioituneiden qcow2-tiedostojen palauttamiseen). Tiimissä
    "qemu-img rebase" toimii, kun syöttötiedostolle ei ole vielä luotu taustatiedostoa;

  • Lisätty mahdollisuus uudelleenohjata "semihosting"-tekniikalla järjestetty tulos (sallii emuloidun laitteen käyttää stdout-, stderr- ja stdin-tiedostoja tiedostojen luomiseen isäntäpuolella) chardev-taustajärjestelmään ("-semihosting-config enable=on,target=native" ,chardev=[ ID]");
  • Lisätty tuki seSparse-alimuodolle vain luku -tilassa VMDK-lohkoohjaimessa;
  • Lisätty tuki SiFive GPIO -ohjaimelle GPIO-emulointiohjaimessa.

Lähde: opennet.ru

Lisää kommentti