Version 7.1 av QEMU-projektet har presenterats. Som emulator gör QEMU det möjligt att köra program som Àr byggda för en hÄrdvaruplattform pÄ ett system med helt annan arkitektur, till exempel att köra ett ARM-program pÄ en x86-kompatibel PC. I virtualiseringslÀget Àr prestandan för kodkörning i en isolerad miljö nÀra den i hÄrdvarusystemet genom direkt exekvering av instruktioner pÄ CPU och utnyttjande av hypervisor Xen eller KVM-modulen.
Projektet skapades ursprungligen av Fabrice Bellard för att möjliggöra körning av Linux-exekverbara filer som Àr byggda för x86-plattformen pÄ arkitekturer som skiljer sig frÄn x86. Under Ären av utveckling har support för fullstÀndig emulering lagts till 14 hÄrdvaruarkitekturer, och antalet emulerade hÄrdvaruenheter har överstigit 400. För version 7.1 har mer Àn 2800 förÀndringar frÄn 238 utvecklare införts.
NyckelförbÀttringar som lagts till i QEMU 7.1:
- PÄ Linux-plattformen har alternativet zero-copy-send implementerats, vilket möjliggör överföring av minnessidor under live-migrering utan mellanliggande buffring.
- I QMP (QEMU Machine Protocol) har möjligheten att anvÀnda kommandot block-export-add lagts till för att exportera NBD-images med data om sidor i "dirty"-status. Nya kommandon 'query-stats' och 'query-stats-schema' har ocksÄ lagts till för att begÀra statistik frÄn olika QEMU-subsystem.
- I agenten för gÀstsysten har stödet för Solaris-plattformen förbÀttrats och nya kommandon 'guest-get-diskstats' och 'guest-get-cpustats' har lagts till för att visa status för diskar och CPU. Kommandot 'guest-get-disks' har fÄtt utdata om NVMe SMART, och kommandot 'guest-get-fsinfo' visar data om typ av NVMe-buss.
- En ny LoongArch-emulator har lagts till med stöd för 64-bitarsversionen av LoongArch-instruktionsuppsÀttningen (LA64). Emulatorn stöder Loongson 3 5000-processorer och Loongson 7A1000-nordbryggor.
- I ARM-emulatorn har nya typer av emulerade maskiner implementerats: Aspeed AST1030 SoC, Qualcomm och AST2600 / AST1030 (fby35). Stöd för emulering av CPU Cortex-A76 och Neoverse-N1 har lagts till, liksom processorutvidgningar SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) och kommandon för att blockera lÀckage frÄn intern cache under spekulativ exekvering av instruktioner pÄ CPU. För 'virt'-maskiner har emuleringen av GICv4-avbrottskontrollern implementerats.
- I x86-arkitekturens emulator för KVM stöd för LBR (Last Branch Record) virtualisering har lagts till.
- I HPPA-arkitekturens emulator har en ny firmware baserad pÄ SeaBIOS v6 införts, som stödjer anvÀndning av PS/2-tangentbord i bootmenyn. Emuleringen av seriell port har förbÀttrats. Ytterligare konsoltypsnitt STI har lagts till.
- I MIPS-arkitekturens emulator för Nios2-kort (-machine 10m50-ghrd) har emuleringen av vektorerad avbrottskontroller (Vectored Interrupt Controller) och skuggset register implementerats. Undantagshanteringen har förbÀttrats.
- I OpenRISC-emulatorn för maskinen 'or1k-sim' har möjligheten att anvÀnda upp till 4 UART-enheter av typen 16550A lagts till.
- I RISC-V-arkitekturens emulator har stöd för nya instruktionsset- (ISA) tillÀgg definierade i specifikationen 1.12.0 lagts till, liksom stöd för Sdtrig-tillÀgget och förbÀttrat stöd för vektorinstruktioner. Debuggingmöjligheterna har utökats. Stöd för TPM (Trusted Platform Module) har lagts till i den emulerade maskinen 'virt', och stöd för Ibex SPI i maskinen 'OpenTitan'.
- I 390x-arkitekturens emulator har stöd för VEF 2 (Vector-Enhancements Facility 2) lagts till. I s390-ccw BIOS har möjligheten att starta frÄn diskar med sektorstorlekar som skiljer sig frÄn 512 byte implementerats.
- I Xtensa-arkitekturens emulator har stöd för lx106-kÀrnor och objektkod för cachetestning lagts till.
KĂ€lla: opennet.ru
