Udgivelsen af QEMU-projektet 10.2.0 er blevet præsenteret. Som emulator gør QEMU det muligt at køre programmer, der er bygget til én hardwareplatform, på et system med en helt anden arkitektur, for eksempel at køre en applikation til ARM på en x86-kompatibel pc. I virtualiseringstilstand er kodeudførelsens ydeevne i et isoleret miljø tæt på den af den fysiske system takket være direkte udførelse af instruktioner på CPU'en og ved at involvere hypervisoren Xen eller KVM-modulet i Linux, eller NVMM-modulet i NetBSD.
Projektet blev oprindeligt skabt af Fabrice Bellard med det formål at muliggøre kørsel af eksekverbare filer fra Linux, der er bygget til x86-platformen, på arkitekturer, der adskiller sig fra x86. Gennem årene er der blevet tilføjet støtte til fuld emulering for 14 hardwarearkitekturer, og antallet af emulerede hardwareenheder har overskredet 400. I forberedelsen af version 10.2.0 er over 2200 ændringer blevet implementeret af 188 udviklere.
Nøgleforbedringer tilføjet i QEMU 10.2:
- I backend 9pfs, der muliggør brug af Plan 9 netværksfilsystem til adgang mellem virtuelle maskiner, er der tilføjet understøttelse af FreeBSD.
- En ny Live-migrationsmode ‘cpr-exec’ er blevet tilføjet for at reducere ressourceforbruget under opdatering virtual machines og potentielt genbruge eksisterende tilstande og forbindelser ved opdatering.
- Hovedbegivenhedscyklussen i QEMU er blevet ændret til at bruge io_uring grænsefladen til asynkron input/output på systemer, der understøtter det, hvilket resulterer i øget ydeevne.
- Emuleringen i user-mode er blevet forbedret, hvilket muliggør kørsel af separate processer, der er bygget til en anden CPU. Systemopkaldet fchmodat2 er implementeret, der er tilføjet støtte til flagene MADV_DONTDUMP og MADV_DODUMP, og understøttelsen af arkitekturerne aarch64, hppa og microblaze er forbedret.
- I ARM-arkitektur emulatoren er der tilføjet understøttelse af amd-versal2-virt board-modellen med implementering af AMD Versal virtuelle SoC. Understøttelsen af ‘AST2600’, ‘AST2700’, ‘AST1030’ og ‘xlnx-zynqmp’ boards er forbedret. Emuleringen af CPU-udvidelserne FEAT_SCTLR2, FEAT_TCR2, FEAT_CSSC, FEAT_LSE128, FEAT_ATS1A, FEAT_RME_GPC2, FEAT_AIE, FEAT_MEC og FEAT_GCS er blevet realiseret.
- I HPPA-arkitektur emulatoren er der tilføjet mulighed for at emulere HP 715/64 workstation, SCSI-controlleren NCR 53c710 og HP LASI input/output-controlleren.
- Emulatoren til PowerPC-arkitektur har tilføjet support for PowerNV11 og PPE42 CPU'er. For pSeries-udstyr er der implementeret en FADUMP-mekanisme (Firmware-Assisted Dump) til at oprette systemtilstands-dump efter et systemfejl.
- I emulatoren til RISC-V-arkitektur er API MonitorDef HMP implementeret, OpenSBI (Open Supervisor Binary Interface) er opdateret til version 1.7, og der er foretaget en stor mængde fejlrettelser.
- I emulatoren til s390x-arkitektur er virtio-pci blevet optimeret ved hjælp af teknologien til virtuel interrupt substitution ved hjælp af irqfd for at forbedre ydeevnen.
Kilde: opennet.ru
