QEMU 7.1 toteuttaa parannuksia muistin siirtoon Linuxissa
QEMU-version 7.1 julkaisu julkistettiin, ja se sisältää useita parannuksia useisiin emulaattoreihin , merkittävimpiä muutoksia ARM- ja RISC-V-järjestelmiin sekä parannuksen muistinsiirtoon Linuxissa. Versiota 7.1 varten 238 kehittäjää teki yli 2 800 muutosta.
Niiden, jotka ovat uusia QEMU:ssa, sinun tulee tietää, että sen avulla voit ajaa yhdelle laitteistoalustalle rakennettua ohjelmaa järjestelmässä, jossa on täysin erilainen arkkitehtuuri, esimerkiksi ARM-sovelluksen ajaminen x86-yhteensopivassa PC:ssä.
QEMU:n virtualisointitilassa koodin suoritus eristetyssä ympäristössä on samanlainen kuin laitteistojärjestelmässä, koska käskyt suoritetaan suoraan suorittimessa ja Xen-hypervisor- tai KVM-moduulia käytetään.
QEMU: n tärkeimmät uutuudet 7.1
Tässä uudessa Linuxille julkaistussa versiossa on toteutettu kopiovapaa lähetysasetus , jonka avulla muistisivujen siirrot voidaan järjestää reaaliaikaisen migraation aikana ilman välipuskurointia.
Lisäksi QMP (QEMU Machine Protocol) lisää mahdollisuuden käyttää `block-export-add`-komentoa NBD-kuvien vientiin sivudatalla "likaisessa" tilassa. Uudet `query-stats`- ja `query-stats-schema`-komennot on myös lisätty tilastojen kyselyyn eri QEMU-alijärjestelmistä.
Toinen merkittävä muutos tässä uudessa QEMU-versiossa on se, että vierasagentti on parannettu yhteensopivuutta Solaris-alustan kanssa ja lisännyt uusia komentoja, 'guest-get-diskstats' ja 'guest-get-cpustats', levyn ja suorittimen tilan näyttämiseksi. NVMe SMART -tietoja on lisätty 'guest-get-disks'-komentoon ja NVMe-väylätyyppitietoja on lisätty 'guest-get-fsinfo'-komentoon.
Lisäksi on lisätty uusi LoongArch-emulaattori tukemaan LoongArch-käskykanta-arkkitehtuurin 64-bittistä versiota (LA64). Emulaattori tukee Loongson 3 5000 -prosessoreita ja Loongson 7A1000 -pohjoissatoja.
Lisäksi korostetaan, että ARM-emulaattori on ottanut käyttöön uudentyyppisiä emuloituja koneita: Aspeed AST1030 SoC, Qualcomm ja AST2600/AST1030 (fby35), ja lisäksi se tukee Cortex-A76- ja Neoverse-N1-suorittimien emulointia sekä SME (Scalable Matrix Extensions)- ja RAS (Reliability, Availability, Serviceability) -suoritinlaajennuksia ja komentoja sisäisten välimuistivuotojen estämiseksi spekulatiivisten käskyjen suorittamisen aikana suorittimessa.
Vaikka RISC-V-arkkitehtuuriemulaattori on lisännyt tuen uusille spesifikaatiossa 1.12.0 määritellyille käskyjoukkolaajennuksille (ISA) , sekä lisätuen Sdtrig-laajennukselle ja parannetun tuen vektorikäskyille.
Muita merkittäviä muutoksia tässä uudessa versiossa ovat:
- Parannetut virheenkorjausvaihtoehdot.
- Lisätty Trusted Platform Module (TPM) -tuki "virt"-emuloituun koneeseen ja lisätty Ibex SPI -tuki "OpenTitan"-koneeseen.
- KVM:n x86-emulaattori on lisännyt tuen LBR (Last Branch Record) -jäljitysmekanismin virtualisointiin.
- Toteutettu GICv4-keskeytyskäsittelijän emulointi "virt"-koneille.
- HPPA-arkkitehtuurin emulaattori tarjoaa uuden SeaBIOS v6:een perustuvan laiteohjelmiston, joka tukee PS/2-näppäimistön käyttöä käynnistysvalikossa.
- Parannettu sarjaportin emulointi.
- Lisätty muita STI-konsolifontteja.
- MIPS-arkkitehtuurin emulaattori Nios2-korteille (-kone 10m50-ghrd) toteuttaa vektorikeskeytysohjaimen emuloinnin ja varjorekisterijoukon.
- Parannettu poikkeusten käsittely.
- Lisätty mahdollisuus käyttää jopa 4 16550A UART-laitetta OpenRISC-arkkitehtuurin emulaattorissa "or1k-sim" -koneelle.
- 390x-arkkitehtuuriemulaattori tukee Vector-Enhancements Facility 2 (VEF 2) -laajennuksia. S390-ccw BIOS pystyy käynnistämään levyiltä, ​​joiden sektorikoko on muu kuin 512 tavua.
- Lisätty tuki lx106-ytimille ja välimuistin testausobjektikoodeille Xtensan arkkitehtuurin emulaattoriin.
Lopuksi, jos olet kiinnostunut oppimaan lisää QEMU 7.1:n uuden version muutoksista ja uusista ominaisuuksista, löydät lisätietoja ja muuta seuraavasta linkistä.