QEMU

Screenshot Software:
QEMU
Szczegóły programowe:
Wersja: 2.12.0 Aktualizowane
Filmu: 22 Jun 18
Wywoływacz: Fabrice Bellard
Licencja: Wolny
Popularność: 51

Rating: nan/5 (Total Votes: 0)

QEMU to oprogramowanie open source i bardzo szybkie wirtualizowanie, które koncentruje się na dynamicznym tłumaczeniu, aby osiągnąć rozsądną wydajność, a jednocześnie można je łatwo przenieść na nowe procesory (procesory) hosta.


Potężny emulator maszyny i wirtualizator

Jest również znany jako emulator maszyny, zaprojektowany do emulowania pełnego systemu, w tym procesora i jego urządzeń peryferyjnych. Część emulacji obsługuje systemy operacyjne i programy tworzone dla pojedynczej platformy sprzętowej, ale działa na innym komputerze o innej architekturze.

Z drugiej strony, gdy aplikacja jest używana jako wirtualizator, może osiągnąć niemal natywne wyniki, uruchamiając kod gościa bezpośrednio na procesorze hosta. Obsługuje hiperwizor Xen i moduł jądra KVM (Kernel Virtual Machine).


Obsługuje wirtualizację wielu platform sprzętowych

Jeśli preferowany jest KVM, aplikacja będzie mogła wirtualizować maszyny x86 (32-bitowe), s390, PowerPC, ARM, m68k, MIPS, CRIS, Microblaze, MIPSEL, or32 i SPARC. Może emulować systemy Windows XP, FreeDOS i SunOS, a także Virtio, koncentratory USB, sieci, urządzenia wejściowe, wideo i pamięci masowej.

Po VirtualBox i VMware QEMU jest trzecim co do wielkości oprogramowaniem do wirtualizacji dla platform Linux, ale pierwszym i najpotężniejszym dla ekosystemu open source. Jego główną cechą jest możliwość uruchamiania jako natywna maszyna wirtualna na architekturach 64-bitowych lub 32-bitowych lub jako czysty emulator.


Obsługiwane systemy operacyjne

Jest to oprogramowanie działające w wierszu poleceń, działające na systemach operacyjnych Linux, jak również Microsoft Windows i różne smaki UNIX. W dedykowanej sekcji pobierania znajduje się archiwum źródłowe, umożliwiające użytkownikom konfigurowanie, kompilowanie i instalowanie programu w dowolnej dystrybucji Linuksa, a także w systemach OpenBSD, Solaris, AIX, MinGW i Cygwin.


Dolna linia

Niezależnie od tego, czy chcesz przetestować oprogramowanie, wypróbować różne systemy operacyjne, czy po prostu uruchomić aplikacje, które nie są obsługiwane na twojej platformie, QEMU zapewnia użytkownikom jedną z najszybszych maszyn wirtualizacyjnych i emulujących.

Co nowego w tej wersji:

  • Emulacja systemu:
  • Niezgodne zmiany:
  • Liczba dozwolonych mostów hosta PCI dla maszyny pSeries została zmniejszona z 256 do 31 (więcej można skonfigurować, ręcznie konfigurując okna MMIO).
  • Usunięto obsługę tftp: // w warstwie blokowej, ponieważ została ona zerwana na zawsze w przypadku plików większych niż 256 KB.
  • Przyszłe niekompatybilne zmiany:
  • Trzy opcje używają różnych nazw w wierszu poleceń i pliku konfiguracyjnym. W szczególności:
  • "acpi" sekcja pliku konfiguracyjnego pasuje do opcji wiersza polecenia "acpitable";
  • "Tryby rozruchu" sekcja pliku konfiguracyjnego pasuje do opcji wiersza polecenia "boot";
  • "smp-opts" sekcja pliku konfiguracyjnego pasuje do opcji wiersza polecenia "smp".
  • -readconfig ustandaryzuje nazwę dla opcji wiersza poleceń.
  • Zachowanie automatycznego obliczania topologii SMP, gdy niektóre opcje topologii SMP dla opcji -smp zostaną pominięte (gniazda, rdzenie, wątki) ulegną zmianie w przyszłości. Jeśli guest ABI musi zostać zachowany podczas aktualizacji przy użyciu opcji topologii SMP, użytkownicy powinni albo ustawić jawnie wszystkie opcje (gniazda, rdzenie, wątki), albo pominąć wszystkie z nich.
  • Urządzenia "allwinner-a10", "pc87312", "ssi-sd". zostanie skonfigurowany z jawnymi właściwościami zamiast niejawnie. Jest mało prawdopodobne, że wpłynie to na użytkowników.
  • Polecenie QMP blockdev-add wciąż jest w toku. Nie obsługuje wszystkich sterowników bloków, brakuje pasującego bloku blockdev-del i więcej. To może się niesłusznie zmienić.
  • W przypadku architektury x86: określanie funkcji CPUID z użyciem opcji "+ funkcja / funkcja". i "cecha = włącz / wyłącz" spowoduje ostrzeżenie. Bieżące zachowanie dla tej kombinacji ("+ cecha / funkcja" wygrywa powyżej "cecha = włączanie / wyłączanie") zostanie zmienione, aby "+ cecha" i "-wartość" będą synonimami dla "feature = on" i "feature = off" odpowiednio).
  • ARM:
  • Ulepszenia w desce Aspeed.
  • Obsługa pułapek semihostingowych HLT w trybie AArch32 (zarówno ARM, jak i Thumb).
  • Tabele ACPI dla "virt" typ maszyny obsługuje ITS.
  • Urządzenie Cadence GEM obsługuje teraz wiele kolejek priorytetów za pośrednictwem właściwości que-priority-queues.
  • Płyta STM32F2xx (Netduino 2) zawiera teraz urządzenia ADC i SPI.
  • MIPS:
  • Obsługa procesorów 24KEc.
  • PowerPC:
  • Obsługa procesorów POWER9.
  • Ulepszenia dla nowego "powernv" platforma.
  • pSeries:
  • Mosty hosta PCI mogą być powiązane z węzłami NUMA.
  • Obsługa więcej niż 1 TiB pamięci gościa.
  • Obsługa ponad 64 GiB okna MMIO w moście hosta PCI.
  • Wsparcie dla "-prom-env" parametr
  • s390:
  • Obsługa modeli procesorów.
  • Wsparcie dla wersji virtio-ccw 2.
  • x86:
  • Obsługa kilku nowych funkcji CPUID związanych z rozszerzeniami zestawu instrukcji AVX-512.
  • Emulowana IOAPIC (używana przez TCG i, z KVM, jeśli opcja "-kernine kernel_irqchip" ma wartość "off" lub "split"), teraz domyślnie jest to wersja 0x20, która obsługuje skierowany koniec-of- przerwać wiadomości.
  • Obsługa rozszerzonego trybu przerwań (EIM) w urządzeniu intel_iommu. EIM wymaga KVM (Linux v4.7 lub nowszy, dla obsługi x2APIC) i "-machine kernel-irqchip = split"; jest on włączany automatycznie, jeśli jest włączone przerywanie przerwań ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Obsługa do 288 procesorów z maszynami Q35. 256 lub więcej procesorów jest obsługiwanych tylko w przypadku włączenia IOMMU i EIM.
  • Xen:
  • Obsługa odłączania dysku SCSI.
  • Obsługa odłączania urządzeń zgodnych ze standardem SUSE xenlinux.
  • Emulacja urządzenia i przypisanie:
  • QEMU zawiera teraz ogólne pseudo-urządzenie ładujące, które pozwala załadować wiele obrazów lub wartości do pamięci podczas uruchamiania. To urządzenie jest udokumentowane w dokumencie / generic-loader.txt.
  • ACPI:
  • Obsługa szybkiego ładowania urządzeń NVDIMM (_FIT)
  • Urządzenia sieciowe:
  • Wsparcie dla tolerancji błędów na podstawie gruboziarnistej blokady (COLO).
  • PCI / PCIe:
  • Przykładowe urządzenie EDU obsługuje teraz MSI.
  • Dodano dokumentację PCI Express Guidelines, aby uzyskać porady dotyczące topologii i PCI / PCIe.
  • virtio:
  • Nowe urządzenie vhost-vsock.
  • Wstępne wsparcie dla płynnej obsługi błędów gości (np. QEMU nie powinno wychodzić z błędu gościa).
  • Obsługa nowego urządzenia virtio-crypto.
  • Xen:
  • Wsparcie dla kopii grantu.
  • Podsystem Crypto:
  • Obsługa większej liczby algorytmów mieszających dla PBKDF.
  • Obsługa trybu CTR.
  • GUI:
  • SPICE może używać czystego renderowania OpenGL, jeśli "gl = on" jest określony.
  • Monitor:
  • Migracja:
  • Wsparcie dla tolerancji błędów na podstawie gruboziarnistej blokady (COLO).
  • Sieć:
  • Blokuj urządzenia i narzędzia:
  • Więcej komend QMP obsługuje nazwę węzła (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file , tworzenie kopii zapasowych dysku, lustro napędowe, dodawanie serwera nbd).
  • Zdarzenie BLOCK_IO_ERROR zawiera teraz nazwę węzła.
  • Więcej komend QMP akceptuje nazwy modeli urządzeń (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • Zdarzenie DEVICE_TRAY_MOVED zawiera teraz identyfikator urządzenia.
  • Ograniczanie dotyczy tylko urządzenia gościa i nie blokuje zadań ani serwera NBD.
  • Drive-backup i blockdev-backup wspierają tworzenie kopii zapasowych w skompresowanym formacie.
  • Format LUKS może teraz konfigurować liczbę iteracji PBKDF.
  • Block-stream obsługuje przesyłanie strumieniowe z pliku kopii zapasowej do innego pliku kopii.
  • Obsługa replikacji dla tolerancji błędów grubego uziarnienia (COLO).
  • Nowy "dd" podmenu qemu-img.
  • Sterownik DMG można skompilować do osobnego sterownika, tak aby uzależnić QEMU od libbz2.
  • Obsługa iSER w inicjatorze iSCSI QEMU za pośrednictwem identyfikatora URI /ser / //.
  • Klient i serwer NBD obsługują rozszerzenie NBD_CMD_WRITE_ZEROES.
  • Obsługa obrazów surowych "offset" i "rozmiar" opcje dostępu tylko do części pliku lub urządzenia.
  • Śledzenie:
  • Nowy serwer śledzenia trasowania "syslog".
  • Obsługa wielu ścieżek "-d trace: PATTERN" argumenty wiersza polecenia.
  • Opcje CLI:
  • Emulacja trybu użytkownika
  • Usunięto wsparcie dla celu
  • Cel użytkownika unicore32-linux zaimplementował inne wywołanie systemowe ABI z głównego Linuksa dla tej architektury. Obsługa została usunięta.
  • Nowa funkcjonalność:
  • Dodano obsługę większej liczby systemów, w tym preadv, pwritev, syslog.
  • Najważniejsze ulepszenia w skalowaniu programów wielowątkowych (ARM, SPARC, x86).
  • QEMU może teraz rozumieć i generować operacje ogrodzenia i cmpxchg.
  • TCG:
  • Dodano nowe prymitywy TCG do bezpiecznego modelowania instrukcji synchronizacji architektury (na przykład atomów, prefiksów LL / SC, LOCK). arm, aarch64, alpha i x86 teraz używają tych prymitywów dla wielowątkowych programów użytkownika linuksa. Opiekunowie docelowych TG są zachęcani do przenoszenia swoich front-endów, aby korzystać z nowych udogodnień.
  • W przypadku programów wielowątkowych układy TCG wysyłają teraz odpowiednie instrukcje dotyczące barier dla barier frontendowych. Jednak emulacja silnie uporządkowanej architektury (np. X86) na słabo uporządkowanej (np. ARM lub POWER) nie będzie działać.
  • tb_flush () w końcu jest bezpieczny dla wątków, co oznacza, że ​​programy wielowątkowe są mniej podatne na awarie po zresetowaniu bufora tłumaczenia
  • rywalizacja o blokadę w głównej pętli uruchomieniowej procesora została zmniejszona, poprawiając wydajność wielowątkowego kodu
  • zidentyfikowano i naprawiono wiele ras
  • Wiele pracy TCG połączyło się w tym cyklu, gdzie wymagane są emulacje wielowątkowe (MTTCG). Oczekuje się, że pełne wsparcie dla MTTCG zostanie połączone w następnym cyklu rozwoju, ale wielowątkowe programy korzystające z Linuksa już teraz skorzystają z tej pracy.

Co nowego w wersji:

  • Emulacja systemu:
  • Niezgodne zmiany:
  • Liczba dozwolonych mostów hosta PCI dla maszyny pSeries została zmniejszona z 256 do 31 (więcej można skonfigurować, ręcznie konfigurując okna MMIO).
  • Usunięto obsługę tftp: // w warstwie blokowej, ponieważ została ona zerwana na zawsze w przypadku plików większych niż 256 KB.
  • Przyszłe niekompatybilne zmiany:
  • Trzy opcje używają różnych nazw w wierszu poleceń i pliku konfiguracyjnym. W szczególności:
  • Sekcja plików konfiguracyjnych "acpi" pasuje do opcji wiersza polecenia "acpitable";
  • Sekcja pliku konfiguracyjnego "boot-opts" pasuje do opcji wiersza polecenia "boot";
  • Sekcja pliku konfiguracyjnego "smp-opts" odpowiada opcji wiersza polecenia "smp".
  • -readconfig ustandaryzuje nazwę dla opcji wiersza poleceń.
  • Zachowanie automatycznego obliczania topologii SMP, gdy niektóre opcje topologii SMP dla opcji -smp zostaną pominięte (gniazda, rdzenie, wątki) ulegną zmianie w przyszłości. Jeśli gość ABI musi być zachowany podczas aktualizacji przy użyciu opcji topologii SMP, użytkownicy powinni albo ustawić jawnie wszystkie opcje (gniazda, rdzenie, wątki), albo pominąć wszystkie z nich.
  • Urządzenia "allwinner-a10", "pc87312", "ssi-sd" zostaną skonfigurowane z jawnymi właściwościami zamiast niejawnie. Jest mało prawdopodobne, że wpłynie to na użytkowników.
  • Polecenie QMP blockdev-add wciąż jest w toku. Nie obsługuje wszystkich sterowników bloków, brakuje pasującego bloku blockdev-del i więcej. To może się niesłusznie zmienić.
  • W przypadku architektury x86 określenie funkcji CPUID z "+ funkcją / -feature" i "feature = on / off" spowoduje ostrzeżenie. Obecne zachowanie dla tej kombinacji ("+ cecha / funkcja" wygrywa nad "feature = on / off") zostanie zmienione, aby "+ feature" i "-feature" były synonimami "feature = on" i "feature" = wyłączone "odpowiednio).
  • ARM:
  • Ulepszenia w desce Aspeed.
  • Obsługa pułapek semihostingowych HLT w trybie AArch32 (zarówno ARM, jak i Thumb).
  • Tabele ACPI typu maszyny "virt" obsługują ITS.
  • Urządzenie Cadence GEM obsługuje teraz wiele kolejek priorytetów za pośrednictwem właściwości que-priority-queues.
  • Płyta STM32F2xx (Netduino 2) zawiera teraz urządzenia ADC i SPI.
  • MIPS:
  • Obsługa procesorów 24KEc.
  • PowerPC:
  • Obsługa procesorów POWER9.
  • Ulepszenia dla nowej platformy "powernv".
  • pSeries:
  • Mosty hosta PCI mogą być powiązane z węzłami NUMA.
  • Obsługa więcej niż 1 TiB pamięci gościa.
  • Obsługa ponad 64 GiB okna MMIO w moście hosta PCI.
  • Obsługa parametru "-prom-env"
  • s390:
  • Obsługa modeli procesorów.
  • Wsparcie dla wersji virtio-ccw 2.
  • x86:
  • Obsługa kilku nowych funkcji CPUID związanych z rozszerzeniami zestawu instrukcji AVX-512.
  • Emulowana IOAPIC (używana przez TCG i, z KVM, jeśli opcja "-machine kernel_irqchip" ma wartość "off" lub "split") teraz domyślnie jest wersją 0x20, która obsługuje skierowane komunikaty końca przerwania.
  • Obsługa rozszerzonego trybu przerwań (EIM) w urządzeniu intel_iommu. EIM wymaga KVM (Linux v4.7 lub nowszy, dla wsparcia x2APIC) i "-machine kernel-irqchip = split"; włącza się automatycznie, jeśli jest włączone przerywanie przerwań ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Obsługa do 288 procesorów z maszynami Q35. 256 lub więcej procesorów jest obsługiwanych tylko w przypadku włączenia IOMMU i EIM.
  • Xen:
  • Obsługa odłączania dysku SCSI.
  • Obsługa odłączania urządzeń zgodnych ze standardem SUSE xenlinux.
  • Emulacja urządzenia i przypisanie:
  • QEMU zawiera teraz ogólne pseudo-urządzenie ładujące, które pozwala załadować wiele obrazów lub wartości do pamięci podczas uruchamiania. To urządzenie jest udokumentowane w dokumencie / generic-loader.txt.
  • ACPI:
  • Obsługa szybkiego ładowania urządzeń NVDIMM (_FIT)
  • Urządzenia sieciowe:
  • Wsparcie dla tolerancji błędów na podstawie gruboziarnistej blokady (COLO).
  • PCI / PCIe:
  • Przykładowe urządzenie EDU obsługuje teraz MSI.
  • Dodano dokumentację PCI Express Guidelines, aby uzyskać porady dotyczące topologii i PCI / PCIe.
  • virtio:
  • Nowe urządzenie vhost-vsock.
  • Wstępne wsparcie dla płynnej obsługi błędów gości (np. QEMU nie powinno wychodzić z błędu gościa).
  • Obsługa nowego urządzenia virtio-crypto.
  • Xen:
  • Wsparcie dla kopii grantu.
  • Podsystem Crypto:
  • Obsługa większej liczby algorytmów mieszających dla PBKDF.
  • Obsługa trybu CTR.
  • GUI:
  • SPICE może używać czystego renderowania OpenGL, jeśli określono "gl = on".
  • Monitor:
  • Migracja:
  • Wsparcie dla tolerancji błędów na podstawie gruboziarnistej blokady (COLO).
  • Sieć:
  • Blokuj urządzenia i narzędzia:
  • Więcej komend QMP obsługuje nazwę węzła (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file , tworzenie kopii zapasowych dysku, lustro napędowe, dodawanie serwera nbd).
  • Zdarzenie BLOCK_IO_ERROR zawiera teraz nazwę węzła.
  • Więcej komend QMP akceptuje nazwy modeli urządzeń (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • Zdarzenie DEVICE_TRAY_MOVED zawiera teraz identyfikator urządzenia.
  • Ograniczanie dotyczy tylko urządzenia gościa i nie blokuje zadań ani serwera NBD.
  • Drive-backup i blockdev-backup wspierają tworzenie kopii zapasowych w skompresowanym formacie.
  • Format LUKS może teraz konfigurować liczbę iteracji PBKDF.
  • Block-stream obsługuje przesyłanie strumieniowe z pliku kopii zapasowej do innego pliku kopii.
  • Obsługa replikacji dla tolerancji błędów grubego uziarnienia (COLO).
  • Nowa podmenu "dd" qemu-img.
  • Sterownik DMG można skompilować do osobnego sterownika, tak aby uzależnić QEMU od libbz2.
  • Obsługa iSER w inicjatorze iSCSI QEMU za pośrednictwem identyfikatora URI /ser / //.
  • Klient i serwer NBD obsługują rozszerzenie NBD_CMD_WRITE_ZEROES.
  • Surowe obrazy obsługują opcje "przesunięcia" i "rozmiaru", aby uzyskać dostęp tylko do części pliku lub urządzenia.
  • Śledzenie:
  • Nowy serwer śledzenia "syslog".
  • Obsługa wielu argumentów wiersza poleceń "-d trace: PATTERN".
  • Opcje CLI:
  • Emulacja trybu użytkownika
  • Usunięto wsparcie dla celu
  • Cel użytkownika unicore32-linux zaimplementował inne wywołanie systemowe ABI z głównego Linuksa dla tej architektury. Obsługa została usunięta.
  • Nowa funkcjonalność:
  • Dodano obsługę większej liczby systemów, w tym preadv, pwritev, syslog.
  • Najważniejsze ulepszenia w skalowaniu programów wielowątkowych (ARM, SPARC, x86).
  • QEMU może teraz rozumieć i generować operacje ogrodzenia i cmpxchg.
  • TCG:
  • Dodano nowe prymitywy TCG do bezpiecznego modelowania instrukcji synchronizacji architektury (na przykład atomów, prefiksów LL / SC, LOCK). arm, aarch64, alpha i x86 teraz używają tych prymitywów dla wielowątkowych programów użytkownika linuksa. Opiekunowie docelowych TG są zachęcani do przenoszenia swoich front-endów, aby korzystać z nowych udogodnień.
  • W przypadku programów wielowątkowych układy TCG wysyłają teraz odpowiednie instrukcje dotyczące barier dla barier frontendowych. Jednak emulacja silnie uporządkowanej architektury (np. X86) na słabo uporządkowanej (np. ARM lub POWER) nie będzie działać.
  • tb_flush () w końcu jest bezpieczny dla wątków, co oznacza, że ​​programy wielowątkowe są mniej podatne na awarie po zresetowaniu bufora tłumaczenia
  • rywalizacja o blokadę w głównej pętli uruchomieniowej procesora została zmniejszona, poprawiając wydajność wielowątkowego kodu
  • zidentyfikowano i naprawiono wiele ras
  • Wiele pracy TCG połączyło się w tym cyklu, gdzie wymagane są emulacje wielowątkowe (MTTCG). Oczekuje się, że pełne wsparcie dla MTTCG zostanie połączone w następnym cyklu rozwoju, ale wielowątkowe programy korzystające z Linuksa już teraz skorzystają z tej pracy.

Co nowego w wersji 2.9.0:

  • Emulacja systemu:
  • Niezgodne zmiany:
  • Liczba dozwolonych mostów hosta PCI dla maszyny pSeries została zmniejszona z 256 do 31 (więcej można skonfigurować, ręcznie konfigurując okna MMIO).
  • Usunięto obsługę tftp: // w warstwie blokowej, ponieważ została ona zerwana na zawsze w przypadku plików większych niż 256 KB.
  • Przyszłe niekompatybilne zmiany:
  • Trzy opcje używają różnych nazw w wierszu poleceń i pliku konfiguracyjnym. W szczególności:
  • Sekcja plików konfiguracyjnych "acpi" pasuje do opcji wiersza polecenia "acpitable";
  • Sekcja pliku konfiguracyjnego "boot-opts" pasuje do opcji wiersza polecenia "boot";
  • Sekcja pliku konfiguracyjnego "smp-opts" odpowiada opcji wiersza polecenia "smp".
  • -readconfig ustandaryzuje nazwę dla opcji wiersza poleceń.
  • Zachowanie automatycznego obliczania topologii SMP, gdy niektóre opcje topologii SMP dla opcji -smp zostaną pominięte (gniazda, rdzenie, wątki) ulegną zmianie w przyszłości. Jeśli gość ABI musi być zachowany podczas aktualizacji przy użyciu opcji topologii SMP, użytkownicy powinni albo ustawić jawnie wszystkie opcje (gniazda, rdzenie, wątki), albo pominąć wszystkie z nich.
  • Urządzenia "allwinner-a10", "pc87312", "ssi-sd" zostaną skonfigurowane z jawnymi właściwościami zamiast niejawnie. Jest mało prawdopodobne, że wpłynie to na użytkowników.
  • Polecenie QMP blockdev-add wciąż jest w toku. Nie obsługuje wszystkich sterowników bloków, brakuje pasującego bloku blockdev-del i więcej. To może się niesłusznie zmienić.
  • W przypadku architektury x86 określenie funkcji CPUID z "+ funkcją / -feature" i "feature = on / off" spowoduje ostrzeżenie. Obecne zachowanie dla tej kombinacji ("+ cecha / funkcja" wygrywa nad "feature = on / off") zostanie zmienione, aby "+ feature" i "-feature" były synonimami "feature = on" i "feature" = wyłączone "odpowiednio).
  • ARM:
  • Ulepszenia w desce Aspeed.
  • Obsługa pułapek semihostingowych HLT w trybie AArch32 (zarówno ARM, jak i Thumb).
  • Tabele ACPI typu maszyny "virt" obsługują ITS.
  • Urządzenie Cadence GEM obsługuje teraz wiele kolejek priorytetów za pośrednictwem właściwości que-priority-queues.
  • Płyta STM32F2xx (Netduino 2) zawiera teraz urządzenia ADC i SPI.
  • MIPS:
  • Obsługa procesorów 24KEc.
  • PowerPC:
  • Obsługa procesorów POWER9.
  • Ulepszenia dla nowej platformy "powernv".
  • pSeries:
  • Mosty hosta PCI mogą być powiązane z węzłami NUMA.
  • Obsługa więcej niż 1 TiB pamięci gościa.
  • Obsługa ponad 64 GiB okna MMIO w moście hosta PCI.
  • Obsługa parametru "-prom-env"
  • s390:
  • Obsługa modeli procesorów.
  • Wsparcie dla wersji virtio-ccw 2.
  • x86:
  • Obsługa kilku nowych funkcji CPUID związanych z rozszerzeniami zestawu instrukcji AVX-512.
  • Emulowana IOAPIC (używana przez TCG i, z KVM, jeśli opcja "-machine kernel_irqchip" ma wartość "off" lub "split") teraz domyślnie jest wersją 0x20, która obsługuje skierowane komunikaty końca przerwania.
  • Obsługa rozszerzonego trybu przerwań (EIM) w urządzeniu intel_iommu. EIM wymaga KVM (Linux v4.7 lub nowszy, dla wsparcia x2APIC) i "-machine kernel-irqchip = split"; włącza się automatycznie, jeśli jest włączone przerywanie przerwań ("-machine kernel-irqchip = split -device intel_iommu, intremap = on").
  • Obsługa do 288 procesorów z maszynami Q35. 256 lub więcej procesorów jest obsługiwanych tylko w przypadku włączenia IOMMU i EIM.
  • Xen:
  • Obsługa odłączania dysku SCSI.
  • Obsługa odłączania urządzeń zgodnych ze standardem SUSE xenlinux.
  • Emulacja urządzenia i przypisanie:
  • QEMU zawiera teraz ogólne pseudo-urządzenie ładujące, które pozwala załadować wiele obrazów lub wartości do pamięci podczas uruchamiania. To urządzenie jest udokumentowane w dokumencie / generic-loader.txt.
  • ACPI:
  • Obsługa szybkiego ładowania urządzeń NVDIMM (_FIT)
  • Urządzenia sieciowe:
  • Wsparcie dla tolerancji błędów na podstawie gruboziarnistej blokady (COLO).
  • PCI / PCIe:
  • Przykładowe urządzenie EDU obsługuje teraz MSI.
  • Dodano dokumentację PCI Express Guidelines, aby uzyskać porady dotyczące topologii i PCI / PCIe.
  • virtio:
  • Nowe urządzenie vhost-vsock.
  • Wstępne wsparcie dla płynnej obsługi błędów gości (np. QEMU nie powinno wychodzić z błędu gościa).
  • Obsługa nowego urządzenia virtio-crypto.
  • Xen:
  • Wsparcie dla kopii grantu.
  • Podsystem Crypto:
  • Obsługa większej liczby algorytmów mieszających dla PBKDF.
  • Obsługa trybu CTR.
  • GUI:
  • SPICE może używać czystego renderowania OpenGL, jeśli określono "gl = on".
  • Monitor:
  • Migracja:
  • Wsparcie dla tolerancji błędów na podstawie gruboziarnistej blokady (COLO).
  • Sieć:
  • Blokuj urządzenia i narzędzia:
  • Więcej komend QMP obsługuje nazwę węzła (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file , tworzenie kopii zapasowych dysku, lustro napędowe, dodawanie serwera nbd).
  • Zdarzenie BLOCK_IO_ERROR zawiera teraz nazwę węzła.
  • Więcej komend QMP akceptuje nazwy modeli urządzeń (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • Zdarzenie DEVICE_TRAY_MOVED zawiera teraz identyfikator urządzenia.
  • Ograniczanie dotyczy tylko urządzenia gościa i nie blokuje zadań ani serwera NBD.
  • Drive-backup i blockdev-backup wspierają tworzenie kopii zapasowych w skompresowanym formacie.
  • Format LUKS może teraz konfigurować liczbę iteracji PBKDF.
  • Block-stream obsługuje przesyłanie strumieniowe z pliku kopii zapasowej do innego pliku kopii.
  • Obsługa replikacji dla tolerancji błędów grubego uziarnienia (COLO).
  • Nowa podmenu "dd" qemu-img.
  • Sterownik DMG można skompilować do osobnego sterownika, tak aby uzależnić QEMU od libbz2.
  • Obsługa iSER w inicjatorze iSCSI QEMU za pośrednictwem identyfikatora URI /ser / //.
  • Klient i serwer NBD obsługują rozszerzenie NBD_CMD_WRITE_ZEROES.
  • Surowe obrazy obsługują opcje "przesunięcia" i "rozmiaru", aby uzyskać dostęp tylko do części pliku lub urządzenia.
  • Śledzenie:
  • Nowy serwer śledzenia "syslog".
  • Obsługa wielu argumentów wiersza poleceń "-d trace: PATTERN".
  • Opcje CLI:
  • Emulacja trybu użytkownika
  • Usunięto wsparcie dla celu
  • Cel użytkownika unicore32-linux zaimplementował inne wywołanie systemowe ABI z głównego Linuksa dla tej architektury. Obsługa została usunięta.
  • Nowa funkcjonalność:
  • Dodano obsługę większej liczby systemów, w tym preadv, pwritev, syslog.
  • Najważniejsze ulepszenia w skalowaniu programów wielowątkowych (ARM, SPARC, x86).
  • QEMU może teraz rozumieć i generować operacje ogrodzenia i cmpxchg.
  • TCG:
  • Dodano nowe prymitywy TCG do bezpiecznego modelowania instrukcji synchronizacji architektury (na przykład atomów, prefiksów LL / SC, LOCK). arm, aarch64, alpha i x86 teraz używają tych prymitywów dla wielowątkowych programów użytkownika linuksa. Opiekunowie docelowych TG są zachęcani do przenoszenia swoich front-endów, aby korzystać z nowych udogodnień.
  • Układy TCG wysyłają teraz odpowiednie instrukcje dotyczące barier dla barier frontendowych podczas uruchamiania programów wielowątkowych. Jednak emulacja silnie uporządkowanej architektury (np. X86) na słabo uporządkowanej (np. ARM lub POWER) nie będzie działać.
  • tb_flush () w końcu jest bezpieczny dla wątków, co oznacza, że ​​programy wielowątkowe są mniej podatne na awarie po zresetowaniu bufora tłumaczenia
  • rywalizacja o blokadę w głównej pętli uruchomieniowej procesora została zmniejszona, poprawiając wydajność wielowątkowego kodu
  • zidentyfikowano i naprawiono wiele ras
  • Wiele pracy TCG połączyło się w tym cyklu, gdzie wymagane są emulacje wielowątkowe (MTTCG). Oczekuje się, że pełne wsparcie dla MTTCG zostanie połączone w następnym cyklu rozwoju, ale wielowątkowe programy korzystające z Linuksa już teraz skorzystają z tej pracy.

Inne programy z deweloperem Fabrice Bellard

TCCBOOT
TCCBOOT

3 Jun 15

Tiny C Compiler
Tiny C Compiler

3 Jun 15

KQEMU
KQEMU

2 Jun 15

Komentarze do QEMU

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!