Lansarea emulatorului QEMU 4.0

Generat lansarea proiectului QEMU 4.0. Ca emulator, QEMU permite rularea unei aplicații compilate pentru o platformă hardware pe un sistem cu o arhitectură complet diferită, de exemplu, executarea unei aplicații pentru ARM pe un PC compatibil x86. În modul de virtualizare, performanța executării codului într-un mediu izolat este apropiată de cea a unui sistem nativ datorită executării directe a instrucțiunilor pe CPU și folosirii hipervizorului Xen sau a modulului KVM.

Inițial, proiectul a fost creat de Fabrice Bellard cu scopul de a permite rularea fișierelor executabile Linux compilate pentru platforma x86 pe arhitecturi diferite de x86. De-a lungul anilor de dezvoltare, suportul pentru emularea completă a fost extins pentru 14 arhitecturi hardware, numărul dispozitivelor hardware emulate a depășit 400. Pentru versiunea 4.0, au fost aduse mai mult de 3100 de modificări de la 220 de dezvoltatori.

Principalele îmbunătățiri, adăugate în QEMU 4.0:

  • În emulatorul arhitecturii ARM a fost adăugat suport pentru extensiile de instrucțiuni ARMv8+: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT și BTI. A fost adăugat suport pentru emularea plăcilor „Musca” și „MPS2”. Emularea ARM PMU (Unitatea de Management al Energiei) a fost îmbunătățită. În platformă virt a fost adăugată posibilitatea utilizării a peste 255 GB RAM și suportul pentru imagini u-boot de tip „noload”;
  • În emulatorul arhitecturii x86, în motorul de accelerare a virtualizării HAX (Intel Hardware Accelerated Execution) a fost adăugat suport pentru gazde compatibile cu POSIX, cum ar fi Linux și NetBSD (anterior era suportată doar platforma Darwin). În emulatorul chipset-ului Q35 (ICH9) pentru porturile PCIe principale, acum se poate opțional declara viteza maximă (16GT/s) și numărul de linii de conexiune (x32), definite în specificația PCIe 4.0 (pentru a asigura compatibilitate implicită pentru tipurile mai vechi de mașini, QEMU este setat la 2.5GT/s și x1). A fost asigurată posibilitatea de a încărca imagini Xen PVH cu opțiunea „-kernel”;
  • În emulatorul arhitecturii MIPS a fost adăugat suport pentru emularea multithread cu utilizarea generatorului de cod clasic TCG (Tiny Code Generator). De asemenea, a fost adăugat suport pentru emularea CPU I7200 (nanoMIPS32 ISA) și I6500 (MIPS64R6 ISA), capacitatea de a gestiona cererile de tip CPU folosind protocolul QMP (QEMU Management Protocol), a fost adăugată suport pentru registrele de configurare SAARI și SAAR. A fost îmbunătățită funcționarea mașinilor virtuale de tip Fulong 2E. A fost actualizată implementarea Interthread Communication Unit;
  • În emulatorul arhitecturii PowerPC a fost adăugat suport pentru emularea controlerului de întrerupere XIVE, extins suportul pentru POWER9, pentru seria P a fost adăugată posibilitatea de conectare la cald a podurilor principale PCI (PHB, PCI host bridge). A fost activată din start protecția împotriva atacurilor Spectre și Meltdown;
  • În emulatorul arhitecturii RISC-V a fost adăugat suport pentru emularea PCI și USB. În serverul de depanare încorporat (gdbserver) a fost implementat suportul pentru setarea listelor de registre în fișiere XML. A fost adăugat suport pentru câmpurile mstatus TSR, TW și TVM;
  • În emulatorul arhitecturii s390 a fost adăugată suport pentru modelul CPU z14 GA 2, precum și suport pentru simularea extensiilor instrucțiunilor pentru calcule cu virgulă mobilă și operații vectoriale. În vfio-ap a fost adăugată posibilitatea de conectare la cald a dispozitivelor;
  • În emulatorul procesoarelor din familia Tensilica Xtensa a fost îmbunătățită suportul SMP pentru Linux și a fost adăugată suport pentru extensia FLIX (Flexibil length instructions extension);
  • În interfața grafică a fost adăugată opțiunea ‘-display spice-app’ pentru configurarea și lansarea unei variante a clientului de acces de la distanță Spice cu un aspect similar interfeței GTK a QEMU;
  • În implementarea serverului VNC a fost adăugată suport pentru controlul accesului prin opțiunile tls-authz/sasl-authz;
  • În QMP (QEMU Management Protocol) a fost adăugată suport pentru executarea centralizată/externă (Out-of-band) a comenzilor și au fost implementate comenzi suplimentare pentru lucrul cu dispozitivele bloc;
  • În VFIO a fost adăugat implementarea interfeței EDID pentru mdev suportat (Intel vGPU), permițând schimbarea rezoluției ecranului, folosind opțiunile xres și yres;
  • Pentru Xen a fost adăugat un nou dispozitiv ‘xen-disk’, care poate crea autonom un backend de disc pentru Xen PV (fără a apela la xenstore). A fost crescută performanța backend-ului de disc Xen PV și a fost adăugată posibilitatea de redimensionare a discului;
  • În dispozitivele bloc de rețea au fost extinse capabilitățile de diagnosticare și trasare, iar compatibilitatea clientului cu implementările problematice ale serverului NBD a fost îmbunătățită. În qemu-nbd au fost adăugate opțiunile ‘—bitmap’, ‘—list’ și ‘—tls-authz’;
  • În dispozitivul emulat IDE/via a fost adăugat suport pentru modul PCI IDE;
  • A fost adăugat suport pentru utilizarea algoritmului lzfse pentru comprimarea imaginilor dmg. Pentru formatul qcow2 a fost adăugat suport pentru conectarea fișierelor externe cu date. Operațiile de decomprimare qcow2 au fost mutate într-un fir separat. În imaginile vmdk a fost adăugat suport pentru operația ‘blockdev-create’;”
  • În dispozitivul bloc virtio-blk a fost adăugat suport pentru operațiile DISCARD (informarea despre eliberarea blocurilor) și WRITE_ZEROES (rescrierea unei game de blocuri logice);
  • În dispozitivul pvrdma a fost implementat suport pentru RDMA Management Datagram services (MAD);
  • Au fost introduse modificări, care încalcă compatibilitatea anterioară. De exemplu, în locul opțiunii „handle” din „-fsdev” și „-virtfs” ar trebui folosite opțiunile „local” sau „proxy”. Opțiunile „-virtioconsole” (înlocuită cu „-device virtconsole”), „-no-frame”, „-clock”, „-enable-hax” (înlocuită cu „-accel hax”) au fost eliminate. Dispozitivul „ivshmem” a fost eliminat (ar trebui folosit „ivshmem-doorbell” sau „ivshmem-plain”). Suportul pentru construcția cu SDL1.2 a fost întrerupt (trebuie utilizat SDL2).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster