Vrijgave van de QEMU 7.1-emulator

De release van het QEMU 7.1-project wordt gepresenteerd. Als emulator kunt u met QEMU een programma uitvoeren dat is gebouwd voor één hardwareplatform op een systeem met een geheel andere architectuur, bijvoorbeeld een ARM-toepassing uitvoeren op een x86-compatibele pc. In de virtualisatiemodus in QEMU ligt de uitvoering van code-uitvoering in een geïsoleerde omgeving dicht bij een hardwaresysteem vanwege de directe uitvoering van instructies op de CPU en het gebruik van de Xen-hypervisor of KVM-module.

Het project is oorspronkelijk gemaakt door Fabrice Bellard om Linux-uitvoerbare bestanden die zijn gebouwd voor het x86-platform te laten draaien op niet-x86-architecturen. In de loop van de jaren van ontwikkeling is volledige emulatieondersteuning toegevoegd voor 14 hardware-architecturen, het aantal geëmuleerde hardware-apparaten is de 400 overschreden. Ter voorbereiding op versie 7.1 zijn er meer dan 2800 wijzigingen aangebracht door 238 ontwikkelaars.

Belangrijkste verbeteringen toegevoegd in QEMU 7.1:

  • Op het Linux-platform is de zero-copy-send-optie geïmplementeerd, waarmee u de overdracht van geheugenpagina's tijdens livemigratie kunt organiseren zonder tussentijdse buffering.
  • QMP (QEMU Machine Protocol) heeft de mogelijkheid toegevoegd om de opdracht block-export-add te gebruiken om NBD-afbeeldingen met paginagegevens in de "vuile" staat te exporteren. Er zijn ook nieuwe commando's 'query-stats' en 'query-stats-schema' toegevoegd om statistieken van verschillende QEMU-subsystemen op te vragen.
  • De Guest Agent heeft de ondersteuning voor het Solaris-platform verbeterd en nieuwe opdrachten 'guest-get-diskstats' en 'guest-get-cpustats' toegevoegd om de schijf- en CPU-status weer te geven. Uitvoer van informatie van NVMe SMART toegevoegd aan de opdracht 'guest-get-disks', en uitvoer van informatie over het NVMe-bustype naar de opdracht 'guest-get-fsinfo'.
  • Een nieuwe LoongArch-emulator toegevoegd met ondersteuning voor de 64-bits variant van de LoongArch-instructiesetarchitectuur (LA64). De emulator ondersteunt Loongson 3 5000-processors en Loongson 7A1000 northbridges.
  • De ARM-emulator implementeert nieuwe typen geëmuleerde machines: Aspeed AST1030 SoC, Qaulcomm en AST2600/AST1030 (fby35). Ondersteuning toegevoegd voor emulatie van Cortex-A76 en Neoverse-N1 CPU's, evenals processoruitbreidingen SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) en opdrachten voor het blokkeren van lekken uit de interne cache tijdens speculatieve uitvoering van instructies op de CPU. Voor 'virt'-machines is emulatie van de GICv4-interruptcontroller geïmplementeerd.
  • In de x86-architectuuremulator voor KVM is ondersteuning voor virtualisatie van het LBR-traceringsmechanisme (Last Branch Record) toegevoegd.
  • De HPPA-architectuuremulator biedt nieuwe firmware op basis van SeaBIOS v6, die het gebruik van een PS/2-toetsenbord in het opstartmenu ondersteunt. Verbeterde emulatie van seriële poorten. Extra STI-consolelettertypen toegevoegd.
  • De MIPS-architectuuremulator voor Nios2-kaarten (-machine 10m50-ghrd) implementeert emulatie van een Vectored Interrupt Controller en een schaduwset van registers. Verbeterde afhandeling van uitzonderingen.
  • De OpenRISC-architectuuremulator voor de 'or1k-sim'-machine heeft de mogelijkheid toegevoegd om maximaal 4 16550A UART-apparaten te gebruiken.
  • De RISC-V-architectuuremulator heeft ondersteuning toegevoegd voor de nieuwe instructiesetextensies (ISA's) gedefinieerd in de 1.12.0-specificatie, evenals ondersteuning voor de Sdtrig-extensie en verbeterde ondersteuning voor vectorinstructies. Verbeterde foutopsporingsmogelijkheden. TPM (Trusted Platform Module)-ondersteuning is toegevoegd aan de 'virt'-geëmuleerde machine, en Ibex SPI-ondersteuning is toegevoegd aan de 'OpenTitan'-machine.
  • De 390x-architectuuremulator biedt ondersteuning voor VEF 2-extensies (Vector-Enhancements Facility 2). Het s390-ccw BIOS biedt de mogelijkheid om op te starten vanaf schijven met een andere sectorgrootte dan 512 bytes.
  • De Xtensa-architectuuremulator heeft ondersteuning toegevoegd voor lx106-kernels en objectcodes voor cachetests.

Bron: opennet.ru

Voeg een reactie