QEMU 4.1 emulatora izlaišana

Iesniedzis projekta izlaidums QEMU 4.1. Kā emulators QEMU ļauj palaist programmu, kas kompilēta vienai aparatūras platformai sistēmā ar pavisam citu arhitektūru, piemēram, palaist ARM lietojumprogrammu ar x86 saderīgā datorā. Virtualizācijas režīmā QEMU koda izpildes veiktspēja izolētā vidē ir tuvu vietējai sistēmai, pateicoties tiešai instrukciju izpildei CPU un Xen hipervizora vai KVM moduļa izmantošanai.

Projektu sākotnēji izveidoja Fabriss Belards, lai ļautu Linux izpildāmajiem failiem, kas izveidoti x86 platformai, darboties citās arhitektūrās, kas nav x86. Izstrādes gadu laikā pilns emulācijas atbalsts ir pievienots 14 aparatūras arhitektūrām, emulēto aparatūras ierīču skaits pārsniedzis 400. Gatavojoties versijai 4.1, no 2000 izstrādātājiem veiktas vairāk nekā 276 izmaiņas.

Atslēga uzlabojumipievienots QEMU 4.1:

  • X86 arhitektūras emulatoram ir pievienots atbalsts Hygon Dhyana un Intel SnowRidge CPU modeļiem. Pievienota RDRAND paplašinājuma emulācija (aparatūras pseidogadījuma skaitļu ģenerators). Pievienoti karodziņi
    md-clear un mds-no, lai kontrolētu aizsardzību pret uzbrukumiem MDS (Mikroarhitektūras datu paraugu ņemšana) Intel procesoros. Pievienota iespēja noteikt integrālās shēmas topoloģijas, izmantojot karogu “-smp ...,dies=”. Versionēšana ir ieviesta visiem x86 CPU modeļiem;

  • SSH bloka draiveris ir pārvietots no lietošanas libssh2 par libsh;
  • Virto-gpu draiveris (virtuālais GPU, kas izstrādāts kā daļa no projekta Virgil) pievienots atbalsts 2D/3D renderēšanas darbību pārvietošanai uz ārēju vhost-user procesu (piemēram, vhost-user-gpu);
  • ARM arhitektūras emulators ir pievienojis atbalstu ARMv8.5-RNG paplašinājumam pseidogadījuma skaitļu ģenerēšanai. FPU emulācijas atbalsts ir ieviests Cortex-M ģimenes mikroshēmām, un ir atrisinātas problēmas ar FPU emulāciju Cortex-R5F. Ir ierosināta jauna sistēma, lai iestatītu būvniecības iespējas, kas izstrādāta Kconfig stilā. SoC Exynos4210 ir pievienots atbalsts PL330 DMA kontrolleriem;
  • MIPS arhitektūras emulators ir uzlabojis atbalstu MSA ASE instrukcijām, izmantojot lielo baitu secību, un saskaņojis dalīšanas ar nulles gadījumiem apstrādi ar atsauces aparatūru. Paaugstināta MSA instrukciju emulācijas veiktspēja veselu skaitļu aprēķiniem un permutācijas operācijām;
  • PowerPC arhitektūras emulators tagad atbalsta pārsūtīšanu uz NVIDIA V100/NVLink2 GPU, izmantojot VFIO. Pseries ir ieviests XIVE pārtraukumu kontrollera emulācijas paātrinājums un pievienots PCI tiltu karstās pievienošanas atbalsts. Ir veiktas vektoru instrukciju emulācijas optimizācijas (Altivec/VSX);
  • RISC-V arhitektūras emulatoram ir pievienots jauns aparatūras modelis - "spike". Pievienots atbalsts ISA 1.11.0. Ir uzlabots 32 bitu sistēmas izsaukuma ABI, ir uzlabota nederīgu instrukciju apstrāde un iebūvētais atkļūdotājs. Pievienots atbalsts CPU topoloģijai ierīču kokā;
  • S390 arhitektūras emulators ir pievienojis atbalstu visu vektoru instrukciju emulēšanai no grupas “Vector Facility” un pievienojis papildu elementus, lai atbalstītu gen15 sistēmas (tostarp pievienots atbalsts vfio-ap AP rindas pārtraukšanas rīkam). Ieviests BIOS atbalsts palaišanai no ECKD DASD, kas saistīts ar viesu sistēmu, izmantojot vfio-ccw;
  • SPARC arhitektūras emulatorā sun4m sistēmām ir atrisinātas problēmas ar karoga “-vga none” izmantošanu OpenBIOS;
  • Tensilica Xtensa saimes procesora emulators ietver MPU (atmiņas aizsardzības vienības) un ekskluzīvas piekļuves iespējas;
  • Komandai “qemu-img convert” ir pievienota opcija “-salvage”, lai atspējotu attēla konvertēšanas procesa avāriju I/O kļūdu gadījumā (piemēram, var izmantot, lai atjaunotu daļēji bojātus qcow2 failus). Komandā
    “qemu-img rebase” darbojas, ja ievades failam vēl nav izveidots atbalsta fails;

  • Pievienota iespēja novirzīt izvadi, kas organizēta, izmantojot "semihosting" tehnoloģiju (ļauj emulētajai ierīcei izmantot stdout, stderr un stdin, lai izveidotu failus resursdatora pusē) chardev aizmugursistēmai ("-semihosting-config enable=on,target=native ,chardev=[ ID]");
  • VMDK bloka draiveris tagad atbalsta seSparse apakšformātu tikai lasīšanas režīmā;
  • Pievienots atbalsts SiFive GPIO kontrollerim GPIO emulācijas draiverī.

Avots: opennet.ru

Pievieno komentāru