Projektveröffentlichung . Als Emulator ermöglicht QEMU das AusfĂŒhren von Programmen, die fĂŒr eine Hardwareplattform kompiliert wurden, auf einem System mit völlig anderer Architektur, beispielsweise das AusfĂŒhren einer Anwendung fĂŒr ARM auf einem x86-kompatiblen PC. Im Virtualisierungsmodus erreicht QEMU in einer isolierten Umgebung eine nahezu native CodeausfĂŒhrungsleistung durch direkte BefehlsausfĂŒhrung auf der CPU und die Nutzung des Hypervisors Xen oder des KVM-Moduls.
UrsprĂŒnglich wurde das Projekt von Fabrice Bellard mit dem Ziel ins Leben gerufen, die AusfĂŒhrung von Linux-BinĂ€rdateien, die fĂŒr die x86-Plattform kompiliert wurden, auf anderen Architekturen zu ermöglichen. Im Laufe der Entwicklung wurde die UnterstĂŒtzung fĂŒr die vollstĂ€ndige Emulation von 14 Hardwarearchitekturen hinzugefĂŒgt, und die Anzahl der emulierten HardwaregerĂ€te ĂŒberstieg 400. FĂŒr die Version 5.1 wurden mehr als 2500 Ănderungen von 235 Entwicklern vorgenommen.
Hauptmerkmale , hinzugefĂŒgt in QEMU 5.1:
- UnterstĂŒtzung fĂŒr die Emulation von CPUs basierend auf der Architektur . UnterstĂŒtzung fĂŒr Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560),
Arduino Mega (ATmega1280) und Arduino UNO (ATmega328P) implementiert. - Im ARM-Emulator wurde die Möglichkeit des Hot-Unplugging von Speicher und das Hot-Plugging von NVDIMM-Speicher fĂŒr Gastbetriebssysteme mit ACPI hinzugefĂŒgt. UnterstĂŒtzung fĂŒr die ARMv8.2-Erweiterungen und . UnterstĂŒtzung fĂŒr die sonorapass-bmc-Platine bereitgestellt.
- Im MIPS-Emulator wurde die UnterstĂŒtzung fĂŒr Loongson 3A CPUs (R1 und R4) hinzugefĂŒgt. Die Leistung der Emulation von FPU- und MSA-Anweisungen wurde verbessert.
- Im RISC-V-Emulator wurde die UnterstĂŒtzung fĂŒr SiFive E34 und Ibex CPUs hinzugefĂŒgt. UnterstĂŒtzung fĂŒr HiFive1 revB und OpenTitan-Platinen implementiert. FĂŒr Spike-Maschinen wurde die UnterstĂŒtzung fĂŒr mehr als eine CPU bereitgestellt.
- Im PowerPC-Emulator wurde die UnterstĂŒtzung fĂŒr das Fehlerwiederherstellung in Gastbetriebssystemen mit FWNMI hinzugefĂŒgt.
- FĂŒr die s390-Architektur wurde KVM fĂŒr sichere Virtualisierung (Safe Execution Mode) hinzugefĂŒgt.
- Im x86-Emulator wurden die Overheads fĂŒr die Virtualisierung von nicht angepassten Gastbetriebssystemen mit Windows durch Bereitstellung der emulierten ACPI-WAET-GerĂ€tetabelle (Windows ACPI Emulated Device Table) reduziert. Die UnterstĂŒtzung fĂŒr Beschleunigung wurde verbessert. fĂŒr macOS.
- Der BlockgerĂ€tetreiber hat UnterstĂŒtzung fĂŒr virtuelle SpeichergerĂ€te mit logischen und physischen Blöcken von 2 MB hinzugefĂŒgt.
- Es wurde die Möglichkeit hinzugefĂŒgt, Passwörter und SchlĂŒssel zur VerschlĂŒsselung ĂŒber den Linux-Kernel-Keyring mittels neuer Objekte des Typs âsecret-keyringâ in QEMU zu ĂŒbertragen.
- FĂŒr das qcow2-Format wurde die UnterstĂŒtzung des zstd-Kompressionsalgorithmus implementiert.
- Im Dienstprogramm qemu-img wurde ein neuer Befehl 'bitmap' hinzugefĂŒgt, um mit persistenten Bitmaps in qcow2-Dateien zu arbeiten. qemu-img bietet auch die Verwaltung von LUKS-SchlĂŒsseln (keyslot) und weitere Optionen fĂŒr die Befehle âmapâ (âstart-offset, âmax-length) und âconvertâ (âbitmaps). Der Befehl âmeasureâ wurde um die Ausgabe von Informationen ĂŒber die GröĂe persistenter Bitmaps in qcow2-Dateien erweitert.
- Der NVMe-Treiber unterstĂŒtzt nun persistente Speicherelemente (Persistent Memory Region), die in der NVMe-Spezifikation 1.4 eingefĂŒhrt wurden.
- In virtio fĂŒr Gastsysteme mit dem klassischen Codegenerator TCG (Tiny Code Generator) wurde die Möglichkeit implementiert, Prozesse zu nutzen. , einschlieĂlich virtiofsd. In vhost-user wurde die Erweiterung VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS hinzugefĂŒgt, die die Registrierung von mehr als 8 RAM-Slots ermöglicht.
Quelle: opennet.ru
