Projekt-Releases . Als Emulator ermöglicht QEMU das AusfĂŒhren von Programmen, die fĂŒr eine bestimmte Hardwareplattform erstellt wurden, auf einem System mit völlig anderer Architektur, zum Beispiel die AusfĂŒhrung einer Anwendung fĂŒr ARM auf einem x86-kompatiblen PC. Im Virtualisierungsmodus erreicht die CodeausfĂŒhrung in einer isolierten Umgebung eine nahezu native Systemleistung durch die direkte AusfĂŒhrung von Instruktionen auf der CPU und die Nutzung des Hypervisors Xen oder des KVM-Moduls.
Das Projekt wurde ursprĂŒnglich von Fabrice Bellard ins Leben gerufen, um die AusfĂŒhrung von fĂŒr die x86-Plattform kompilierten Linux-Programmen auf anderen Architekturen zu ermöglichen. Im Laufe der Jahre wurden vollstĂ€ndige EmulatorunterstĂŒtzung fĂŒr 14 Hardware-Architekturen hinzugefĂŒgt, und die Zahl der emulierten HardwaregerĂ€te ĂŒberstieg 400. FĂŒr die Version 5.0 wurden ĂŒber 2800 Ănderungen von 232 Entwicklern vorgenommen.
SchlĂŒssige , die in QEMU 5.0 hinzugefĂŒgt wurden:
- Die Möglichkeit, Teile des Dateisystems der Host-Umgebung in das Gast-System durch einzublenden. Das Gast-System kann ein Verzeichnis, das zur Veröffentlichung auf der Host-Seite markiert ist, einbinden, was die gemeinsame Nutzung von Verzeichnissen in Virtualisierungssystemen erheblich vereinfacht. Im Gegensatz zur Verwendung von Netzwerkdateisystemen wie NFS und virtio-9P ermöglicht virtiofs eine Leistung, die der der lokalen Dateisysteme nahekommt;
- Live-Migration von Daten externer Prozesse, die den QEMU D-Bus verwenden;
- Möglichkeit der Nutzung um den Betrieb des Hauptarbeitsspeichers des Gast-Systems sicherzustellen. Das Backend wird mit der Option "-machine memory-backend" festgelegt;
- Neuer Filter âcompressâ, der zur Erstellung komprimierter Backups von Images verwendet werden kann;
- Der Befehl âqemu-img measureâ kann jetzt mit LUKS-Images arbeiten, und dem Befehl âqemu-img convertâ wurde die Option ââtarget-is-zeroâ hinzugefĂŒgt, um das Nullsetzen des Zielformats zu ĂŒberspringen;
- Experimentelle UnterstĂŒtzung fĂŒr den Prozess qemu-storage-daemon wurde hinzugefĂŒgt, um Zugriff auf die Blockebene von QEMU und QMP-Befehlen zu ermöglichen, einschlieĂlich der Arbeit mit BlockgerĂ€ten und einem integrierten NBD-Server, ohne eine vollstĂ€ndige virtuelle Maschine starten zu mĂŒssen;
- Im ARM-Architektur-Emulator wurde die Möglichkeit zur Emulation der CPU Cortex-M7 hinzugefĂŒgt, und die UnterstĂŒtzung fĂŒr die Platten tacoma-bmc, Netduino Plus 2 und Orangepi PC ist gewĂ€hrleistet. In den emulierten âvirtâ-Maschinen wurde die UnterstĂŒtzung fĂŒr die GerĂ€te vTPM und virtio-iommu hinzugefĂŒgt. Die Verwendung von AArch32-Host-Systemen zum Starten von KVM-Gastumgebungen wurde als veraltet erklĂ€rt. Die Emulation der folgenden Architekturmerkmale wurde implementiert:
- ARMv8.1: VHE, VMID16, PAN, PMU
- ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
- ARMv8.3: RCPC, CCIDX
- ARMv8.4: PMU, RCPC
- Im HPPA-Architektur-Emulator wurde die UnterstĂŒtzung fĂŒr die grafische Konsole mit dem grafischen GerĂ€t HP Artist hinzugefĂŒgt;
- Im MIPS-Architektur-Emulator wurde die UnterstĂŒtzung fĂŒr den Befehl GINVT (Global Invalidation TLB) hinzugefĂŒgt;
- Im PowerPC-Architektur-Emulator fĂŒr âpowernvâ-Maschinen wurde die Emulation von KVM-Hardwarebeschleunigungsmitteln zur AusfĂŒhrung von Gastsystemen hinzugefĂŒgt;
KVM mit klassischem TCG (Tiny Code Generator). Zur Emulation des nichtflĂŒchtigen Speichers wurde die UnterstĂŒtzung fĂŒr in Datei reflektierte NVDIMM hinzugefĂŒgt. FĂŒr âpseriesâ-Maschinen wurde die Notwendigkeit einer Neuinstallation zur Synchronisierung der Funktion der Interrupt-Controller XIVE/XICS im Modus âic-mode=dualâ entfernt; - Im RISC-V-Architektur-Emulator fĂŒr âvirtâ- und âsifive_uâ-Platten wurde die UnterstĂŒtzung fĂŒr Standard-Driversyscon in Linux zur Stromversorgung und zum Neustart implementiert. FĂŒr die âvirtâ-Platine wurde die UnterstĂŒtzung fĂŒr Goldfish RTC hinzugefĂŒgt. Experimentelle Implementierung von Hypervisor-Erweiterungen hinzugefĂŒgt;
- Im s390-Architektur-Emulator wurde die UnterstĂŒtzung fĂŒr AIS (Adapter Interrupt Suppression) im KVM-Modus hinzugefĂŒgt.
Quelle: opennet.ru
