QEMU 7.0-prosjektet er lansert. Som en emulator lar QEMU deg kjøre programmer som er bygget for én maskinvareplattform på et system med en helt annen arkitektur, for eksempel å kjøre et ARM-program på en x86-kompatibel PC. I virtualiseringsmodus er ytelsen til koden som kjører i et isolert miljø nærmere den fysiske systemytelsen, takket være direkte utførelse av instruksjoner på CPU-en og bruk av hypervisoren Xen eller KVM-modulen.
Opprinnelig ble prosjektet opprettet av Fabrice Bellard for å muliggjøre kjøring av Linux-kjørbare filer bygget for x86-plattformen på arkitekturer som avviker fra x86. Gjennom årene har utviklingen lagt til støtte for full emulering av 14 maskinvarearkitekturer, og antallet emulerte maskinvareenheter har overskredet 400. I forkant av versjon 7.0 ble det gjort mer enn 2500 endringer av 225 utviklere.
Nøkkelforbedringer som er lagt til QEMU 7.0:
- I x86-emulatoren er det lagt til støtte for Intel AMX (Advanced Matrix Extensions) instruksjonssett, implementert i Intel Xeon Scalable serverprosessorer. AMX tilbyr nye konfigurerbare TMM «TILE»-registre og instruksjoner for å manipulere data i disse registrene, som TMUL (Tile matrix MULtiply) for matrise-multiplikasjon.
- Det er nå mulighet for logging av ACPI-hendelser fra gjestesystemet gjennom ACPI ERST-grensesnittet.
- I virtiofs-modulen, som brukes til å videresende deler av vertsfilsystemet til gjestesystemet, er støtten for sikkerhetsmerker (security labels) forbedret. Sårbarheten CVE-2022-0358, som tillot heving av privilegier i systemet ved å opprette kjørbare filer i kataloger videresendt via virtiofs som tilhørte en annen gruppe og hadde SGID-flagget, er nå rettet.
- Fleksibiliteten for sikkerhetskopiering av aktive systembilder som er i drift, er økt (et øyeblikksbilde opprettes, hvoretter en copy-before-write (CBW) filter brukes for å oppdatere øyeblikksbildets tilstand ved å kopiere data fra områdene som gjestesystemet skriver til). Støtte for bilder i formater som ikke er qcow2 er lagt til. Muligheten til å få tilgang til øyeblikksbildet med sikkerhetskopiering er ikke direkte, men via snapshot-access blokkdevice-driveren. Mulighetene for styring av CBW-filteret er utvidet, for eksempel kan spesifikke bitkart unntas fra behandlingen.
- I emulators ARM for 'virt' machines, support for virtio-mem-pci, CPU topology definitions for the guest system, and enabling PAuth when using the hypervisor with the hvf accelerator has been added. KVM In the 'xlnx-versal-virt' platform emulator, support for PMC SLCR and emulation of the OSPI Flash memory controller has been added. New management models for CRF and APU have been included for the emulated 'xlnx-zynqmp' machines. Emulation of the FEAT_LVA2, FEAT_LVA (Large Virtual Address space), and FEAT_LPA (Large Physical Address space) extensions has been added.
- Support for hosts with ARMv4 and ARMv5 CPUs, which do not support unaligned memory access and do not have enough RAM to run QEMU, has been discontinued in the classic TCG (Tiny Code Generator).
- In the RISC-V architecture emulator, support for the KVM hypervisor has been added, and vector extensions Vector 1.0, as well as instructions Zve64f, Zve32f, Zfhmin, Zfh, zfinx, zdinx, and zhinx{min}, have been implemented. For the 'spike' emulated machines, support for loading OpenSBI binary files (RISC-V Supervisor Binary Interface) has been added. For 'virt' emulated machines, the ability to use up to 32 CPU cores and support for AIA has been implemented.
- In the HPPA architecture emulator, the ability to use up to 16 vCPUs has been provided, and the graphic driver for user environments HP-UX VDE/CDE has been improved. The ability to change the boot order for SCSI devices has been added.
- In the OpenRISC architecture emulator for 'sim' platforms, support for using up to 4 CPU cores, loading an external initrd image, and automatic device tree generation for the booting kernel has been added.
- In the PowerPC architecture emulator for 'pseries' emulated machines, the ability to run guest systems under the management of the nested KVM hypervisor has been implemented. Support for the spapr-nvdimm device has been added. For 'powernv' emulated machines, support for the XIVE2 interrupt controller and PHB5 controllers has been added, and support for XIVE and PHB 3/4 has been improved.
- In the s390x architecture emulator, support for z15 extensions (Miscellaneous-Instruction-Extensions Facility 3) has been added.
Kilde: opennet.ru
