QEMU 7.2 emulatora izlaišana

Ir prezentēts QEMU 7.2 projekta izlaidums. 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 aparatūras sistēmas veiktspējai, jo tiek veiktas tiešas instrukcijas CPU un tiek izmantots Xen hipervizors vai KVM modulis.

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 7.2, no 1800 izstrādātājiem veiktas vairāk nekā 205 izmaiņas.

Galvenie uzlabojumi, kas pievienoti QEMU 7.2:

  • x86 emulators klasiskajā TCG koda ģeneratorā ir pievienojis atbalstu AVX, AVX2, F16C, FMA3 un VAES instrukcijām, kā arī veiktspējas optimizāciju saistībā ar SSE instrukciju izmantošanu. KVM ir pievienots atbalsts virtuālās mašīnas izeju izsekošanas mehānismam (“notify vmexit”), kas ļauj apiet CPU kļūdas, kas var izraisīt pārtraukšanu.
  • ARM emulators atbalsta Cortex-A35 CPU un procesora paplašinājumus ETS (uzlabotā tulkošanas sinhronizācija), PMUv3p5 (PMU Extensions 3.5), GTG (viesu tulkošanas granula 4KB, 16KB, 64KB), HAFDBS (piekļuves karoga aparatūras kontrole un netīrs stāvoklis). un E0PD (novērš EL0 piekļuvi sadalītajām adrešu kartēm).
  • LoongArch emulators pievieno atbalstu fw_cfg DMA, karstās pieslēgšanas atmiņai un TPM (uzticamās platformas moduļa) ierīces emulācijai.
  • OpenRISC arhitektūras emulators ievieš "virt" platformu ierīču testēšanai un izmantošanai nepārtrauktās integrācijas sistēmās. Ir ieviests klasiskā TCG (Tiny Code Generator) koda ģeneratora vairāku pavedienu izpildes atbalsts.
  • RISC-V arhitektūras emulatoram “virt” emulētajās iekārtās ir iespēja ielādēt programmaparatūru no pflash S režīmā. Uzlabots darbs ar ierīču koku.
  • 390x emulators nodrošina atbalstu MSA5 (Message-Security-Assist Extension 5 ar PRNO instrukciju pseidogadījuma skaitļu ģenerēšanai), KIMD/KLM instrukcijas (SHA-512 ieviešana) un paplašinātu zPCI interpretāciju viesu sistēmām, kuru pamatā ir KVM hipervizors. .
  • Aizmugursistēmas darbam ar atmiņu nodrošina iepriekšēju atmiņas piešķiršanu, ņemot vērā NUMA arhitektūru.
  • Ir pastiprināta LUKS šifrēto bloku ierīču galvenes pārbaude, un ir pievienota iespēja izveidot LUKS attēlus operētājsistēmā macOS.
  • 9pfs aizmugursistēma, kas ļauj izmantot Plan 9 tīkla failu sistēmu, lai piekļūtu vienai virtuālajai mašīnai, pārgāja uz GHashTable jaucējfunkcijas izmantošanu identifikatoru tabulā, kas dažās situācijās izraisīja veiktspējas pieaugumu 6–12 reizes.
  • Pievienota jauna netdev aizmugursistēmas straume un dgram.
  • FreeBSD atbalsts ir pievienots ARM viesu aģentam.
  • GUI versijas operētājsistēmai MacOS nodrošina iespēju vienā izpildāmā failā iekļaut saskarnes, kuru pamatā ir Cocoa un SDL/GTK.
  • Iebūvētais apakšmodulis “slirp” ir noņemts, tā vietā ieteicams izmantot libslirp sistēmas bibliotēku.
  • Testēšanas iespēju trūkuma dēļ atbalsts resursdatora sistēmām ar 32 bitu MIPS procesoriem, kas izmanto Big Endian baitu secību, ir novecojis.

Avots: opennet.ru

Pievieno komentāru