QEMU

Software screenshot:
QEMU
Software informatie:
Versie: 2.12.0 Bijgewerkt
Upload datum: 22 Jun 18
Ontwikkelaar: Fabrice Bellard
Licentie: Gratis
Populariteit: 51

Rating: nan/5 (Total Votes: 0)

QEMU is een open source en zeer snelle virtualisatiesoftware die zich richt op dynamische vertalingen om redelijke prestaties te bereiken, terwijl deze eenvoudig kan worden overgezet op nieuwe host-CPU's (processors).


Een krachtige machine-emulator en virtualizer

Het is ook bekend als een machine-emulator, ontworpen om een ​​volledig systeem te emuleren, inclusief een processor en zijn randapparatuur. Het emulatiegedeelte ondersteunt besturingssystemen en programma's die zijn gemaakt voor een enkel hardwareplatform, maar wordt uitgevoerd op een andere computer met een andere architectuur.

Als de toepassing daarentegen als een virtualisator wordt gebruikt, kan deze bijna native uitvoeringen bereiken door de gastcode rechtstreeks op de hostprocessor uit te voeren. Het ondersteunt de Xen-hypervisor en de kernelmodule KVM (kernel virtuele machine).


Ondersteunt virtualisatie van verschillende hardwareplatforms

Als KVM de voorkeur heeft, kan de toepassing x86 (32-bits), S390-, PowerPC-, ARM-, M68K-, MIPS-, CRIS-, Microblaze-, MIPSEL-, of32- en SPARC-machines virtualiseren. Het kan de Windows XP-, FreeDOS- en SunOS-systemen emuleren, evenals Virtio, USB Root Hubs, netwerk-, invoer-, video- en opslagapparaten.

Na VirtualBox en VMware is QEMU de derde grootste virtualisatiesoftware voor Linux-platforms, maar de eerste en meest krachtige voor het open-source-ecosysteem. De belangrijkste functie is de mogelijkheid om als native virtuele machine te worden uitgevoerd op 64-bit of 32-bit-architecturen of als pure emulator.


Ondersteunde besturingssystemen

Het is een opdrachtregelsoftware en draait op Linux-gebaseerde besturingssystemen, evenals Microsoft Windows en verschillende UNIX-smaken. Een bronarchief wordt aangeboden op de speciale downloadsectie, zodat gebruikers het programma kunnen configureren, compileren en installeren in elke Linux-distributie, evenals op OpenBSD-, Solaris-, AIX-, MinGW- en Cygwin-systemen.


Bottom line

Of u nu software wilt testen, verschillende besturingssystemen wilt proberen of alleen toepassingen wilt uitvoeren die niet worden ondersteund op uw platform, QEMU biedt gebruikers een van de snelste virtualisatie- en emulatormachines.

Wat is nieuw in deze release:

  • Systeememulatie:
  • Onverenigbare wijzigingen:
  • Het aantal toegestane PCI-hostbruggen voor pSeries-machine is teruggebracht van 256 naar 31 (meer kan worden geconfigureerd door MMIO-vensters handmatig in te stellen).
  • Ondersteuning voor tftp: // in de bloklaag verwijderd, omdat dit voor altijd is verbroken voor bestanden groter dan 256 KB.
  • Toekomstige incompatibele wijzigingen:
  • Drie opties gebruiken verschillende namen op de opdrachtregel en in het configuratiebestand. In het bijzonder:
  • De & quot; acpi & quot; configuratiebestandsectie komt overeen met de opdrachtregeloptie & quot; acpitable & quot ;;
  • De & quot; boot-opts & quot; configuratiebestandsectie komt overeen met de opdrachtregeloptie & quot ;,
  • De & quot; smp-opts & quot; configuratiebestandsectie komt overeen met de opdrachtregeloptie & quot; smp & quot;.
  • -readconfig zal standaardiseren op de naam voor de opdrachtregeloptie.
  • Gedrag van automatische berekening van SMP-topologie wanneer sommige SMP-topologie-opties voor -smp zijn weggelaten (sockets, kernen, threads) in de toekomst zullen veranderen. Als gast-ABI moet worden bewaard bij upgrades tijdens het gebruik van de SMP-topologieopties, moeten gebruikers alle opties expliciet instellen (sockets, kernen, threads) of alle opties weglaten.
  • Apparaten & quot; allwinner-a10 & quot ;, & quot; pc87312 & quot ;, & quot; ssi-sd & quot; wordt geconfigureerd met expliciete eigenschappen in plaats van impliciet. Het is onwaarschijnlijk dat dit van invloed is op gebruikers.
  • QMP-opdracht blockdev-add is nog steeds een werk in uitvoering. Het ondersteunt niet alle blockdrivers, het mist een matching blockdev-del en meer. Het kan incompatibel veranderen.
  • Voor x86 geeft u een CPUID-functie op met zowel & quot; + feature / -feature & quot; en & quot; feature = on / off & quot; zal een waarschuwing veroorzaken. Het huidige gedrag voor deze combinatie (& quot; + feature / -feature & quot; wins over & quot; feature = on / off & quot;) wordt gewijzigd zodat & quot; + feature & quot; en & quot; -feature & quot; zijn synoniemen voor & quot; feature = on & quot; en & quot; feature = off & quot; respectievelijk).
  • ARM:
  • Verbeteringen aan het Aspeed-bord.
  • Ondersteuning voor HLT-semihosting-traps in de AArch32-modus (zowel ARM als Thumb).
  • De ACPI-tabellen voor de & quot; virt & quot; machinetype ondersteunt ITS.
  • Het Cadence GEM-apparaat ondersteunt nu meerdere prioriteitswachturen via de eigenschap num-priority-queues.
  • Het STM32F2xx-bord (Netduino 2) bevat nu ADC- en SPI-apparaten.
  • MIPS:
  • Ondersteuning voor 24KEc CPU's.
  • PowerPC:
  • Ondersteuning voor POWER9 CPU's.
  • Verbeteringen voor de nieuwe & quot; powernv & quot; platform.
  • pSeries:
  • PCI-host-bridges kunnen aan NUMA-knooppunten worden gekoppeld.
  • Ondersteuning voor meer dan 1 TiB gastgeheugen.
  • Ondersteuning voor meer dan 64 GiB van MMIO-venster in een PCI-hostbrug.
  • Ondersteuning voor de & quot; -prom-env & quot; parameter
  • s390:
  • Ondersteuning voor CPU-modellen.
  • Ondersteuning voor herziening van virtio-ccw 2.
  • x86
  • Ondersteuning voor verschillende nieuwe CPUID-functies met betrekking tot AVX-512-instructieset-uitbreidingen.
  • De geëmuleerde IOAPIC (gebruikt door TCG en, met KVM, als de & quot; -machine kernel_irqchip & quot; de waarde & quot; off & quot; of & quot; split & quot;) heeft, is nu standaard op versie 0x20, die gestuurde end-of- onderbreek berichten.
  • Ondersteuning voor Extended Interrupt Mode (EIM) in het intel_iommu-apparaat. EIM vereist KVM (Linux v4.7 of nieuwer, voor x2APIC-ondersteuning) en & quot; -machine kernel-irqchip = splitsen & quot ;; het wordt automatisch ingeschakeld als interrupt remapping is ingeschakeld (& quot; -machine kernel-irqchip = split-device intel_iommu, intremap = on & quot;).
  • Ondersteuning voor maximaal 288 CPU's met de Q35-machinetypes. 256 of meer CPU's worden alleen ondersteund als IOMMU en EIM zijn ingeschakeld.
  • Xen:
  • Ondersteuning voor het loskoppelen van de SCSI-schijf.
  • Ondersteuning voor SUSE xenlinux-compatibel apparaat ontkoppelen.
  • Apparaatemulatie en toewijzing:
  • QEMU bevat nu een generieke loader-pseudo-apparaat waarmee u bij het opstarten meerdere afbeeldingen of waarden in het geheugen kunt laden. Dit apparaat is gedocumenteerd in docs / generic-loader.txt.
  • ACPI
  • Ondersteuning voor hotplugging van NVDIMM-apparaten (_FIT)
  • Netwerkapparaten:
  • Ondersteuning voor fouttolerantie op basis van grofkorrelige vergrendelingsstap (COLO).
  • PCI / PCIe:
  • Het voorbeeld-EDU-apparaat ondersteunt nu MSI.
  • PCI Express Guidelines documentation is toegevoegd voor advies over topologie en PCI versus PCIe.
  • virtio:
  • Nieuw apparaat vhost-vsock.
  • Initiële ondersteuning voor sierlijke afhandeling van gastfouten (d.w.z. QEMU moet niet afsluiten voor gastfouten).
  • Ondersteuning voor een nieuw virtio-crypto-apparaat.
  • Xen:
  • Ondersteuning voor subsidie-exemplaar.
  • Crypto-subsysteem:
  • Ondersteuning voor meer hash-algoritmen voor PBKDF.
  • Ondersteuning voor de CTR-modus.
  • GUI:
  • SPICE kan pure OpenGL-rendering gebruiken als & quot; gl = on & quot; is opgegeven.
  • Monitor:
  • Migratie:
  • Ondersteuning voor fouttolerantie op basis van grofkorrelige vergrendelingsstap (COLO).
  • Netwerk:
  • Apparaten en hulpmiddelen blokkeren:
  • Meer QMP-opdrachten ondersteunen knooppuntnaam (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file , drive-backup, drive-mirror, nbd-server-add).
  • De gebeurtenis BLOCK_IO_ERROR bevat nu de naam van het knooppunt.
  • Meer QMP-opdrachten accepteren apparaatmodelnamen (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • De DEVICE_TRAY_MOVED-gebeurtenis bevat nu de apparaat-ID.
  • Beperking is nu alleen van toepassing op het gastapparaat en niet voor het blokkeren van taken of de NBD-server.
  • drive-backup en blockdev-backup ondersteuning voor het schrijven van back-ups in gecomprimeerd formaat.
  • Het LUKS-formaat kan nu de PBKDF-iteratietelling configureren.
  • blokstroom ondersteunt het streamen van een achtergrondbestand naar een ander achtergrondbestand.
  • Ondersteuning voor replicatie, voor grofkorrelige vergrendelingstolerantie (COLO) fouttolerantie.
  • Nieuw & quot; dd & quot; subcomamand van qemu-img.
  • Het DMG-stuurprogramma kan worden gecompileerd naar een afzonderlijk stuurprogramma, om de QEMU-afhankelijkheid van libbz2 optioneel te maken.
  • Ondersteuning voor iSER in QSCU's iSCSI-initiator via een iser: // URI.
  • De NBD-client en -server ondersteunen de extensie NBD_CMD_WRITE_ZEROES.
  • Raw-afbeeldingen ondersteunen & quot; offset & quot; en & quot; grootte & quot; opties om alleen een deel van het bestand of apparaat te openen.
  • Tracing:
  • Nieuwe tracering-backend & quot; syslog & quot;.
  • Ondersteuning voor meerdere & quot; -d trace: PATTERN & quot; opdrachtregelargumenten.
  • CLI-opties:
  • Gebruikersmodusemulatie
  • Doelondersteuning verwijderd
  • Het unicore32-linux-user doel implementeerde een andere systeemaanroep ABI van mainline Linux voor deze architectuur. Ondersteuning hiervoor is weggelaten.
  • Nieuwe functionaliteit:
  • Ondersteuning toegevoegd voor meer syscalls waaronder preadv, pwritev, syslog.
  • Belangrijke verbeteringen in schaalbaarheid voor multi-threaded programma's (ARM, SPARC, x86).
  • QEMU kan nu hek- en cmpxchg-bewerkingen begrijpen en genereren.
  • TCG:
  • Nieuwe TCG-primitieven zijn toegevoegd voor het veilig modelleren van architecturale synchronisatie-instructies (bijvoorbeeld atomaire, LL / SC, LOCK-voorvoegsels). arm, aarch64, alpha en x86 doelen gebruiken nu deze primitieven voor multi-threaded linux-user programma's. TCG-doelbeheerders worden aangemoedigd om hun front-ends te gebruiken om de nieuwe faciliteiten te gebruiken.
  • De TCG-backends geven nu passende barrière-instructies voor frontend-barrières bij het uitvoeren van multi-threaded programma's. Het emuleren van een sterk geordende architectuur (bijvoorbeeld x86) op een zwak geordende (bijvoorbeeld ARM of POWER) zal echter nog niet werken.
  • tb_flush () is eindelijk thread-safe, wat betekent dat programma's met meerdere threads minder snel zullen crashen wanneer de vertaalbuffer wordt gereset
  • vergrendelingsconflict in de hoofdcpu-run-loop is verminderd, waardoor de prestaties van code met meerdere threads zijn verbeterd
  • een aantal races werden geïdentificeerd en gerepareerd
  • Veel van het TCG-werk is samengevoegd in deze cyclus, waarbij vereisten voor ondersteuning van multi-threaded systeememulatie (MTTCG) zijn vereist. Hoewel de volledige MTTCG-ondersteuning naar verwachting zal worden samengevoegd in de volgende ontwikkelingscyclus, zullen multi-threaded linux-user-programma's al profiteren van dit werk.

Wat is nieuw in versie:

  • Systeememulatie:
  • Onverenigbare wijzigingen:
  • Het aantal toegestane PCI-hostbruggen voor pSeries-machine is teruggebracht van 256 naar 31 (meer kan worden geconfigureerd door MMIO-vensters handmatig in te stellen).
  • Ondersteuning voor tftp: // in de bloklaag verwijderd, omdat dit voor altijd is verbroken voor bestanden groter dan 256 KB.
  • Toekomstige incompatibele wijzigingen:
  • Drie opties gebruiken verschillende namen op de opdrachtregel en in het configuratiebestand. In het bijzonder:
  • Het configuratiebestand van "acpi" komt overeen met de opdrachtregeloptie "acpitable";
  • Het configuratiebestandsgedeelte 'boot-opts' komt overeen met de opdrachtregeloptie 'boot';
  • Het configuratiebestand van "smp-opts" komt overeen met de opdrachtregeloptie "smp".
  • -readconfig zal standaardiseren op de naam voor de opdrachtregeloptie.
  • Gedrag van automatische berekening van SMP-topologie wanneer sommige SMP-topologie-opties voor -smp zijn weggelaten (sockets, kernen, threads) in de toekomst zullen veranderen. Als gast-ABI tijdens upgrades moet worden bewaard tijdens het gebruik van de SMP-topologieopties, moeten gebruikers alle opties expliciet instellen (sockets, kernen, threads) of alle opties weglaten.
  • Apparaten "allwinner-a10", "pc87312", "ssi-sd" worden geconfigureerd met expliciete eigenschappen in plaats van impliciet. Het is onwaarschijnlijk dat dit van invloed is op gebruikers.
  • QMP-opdracht blockdev-add is nog steeds een werk in uitvoering. Het ondersteunt niet alle blockdrivers, het mist een matching blockdev-del en meer. Het kan incompatibel veranderen.
  • Voor x86 zal het opgeven van een CPUID-functie met zowel "+ feature / -feature" en "feature = on / off" een waarschuwing veroorzaken. Het huidige gedrag voor deze combinatie ("+ feature / -feature" wint over "feature = on / off") zal worden gewijzigd, zodat "+ feature" en "-feature" synoniemen zullen zijn voor "feature = on" en "feature = uit "respectievelijk).
  • ARM:
  • Verbeteringen aan het Aspeed-bord.
  • Ondersteuning voor HLT-semihosting-traps in de AArch32-modus (zowel ARM als Thumb).
  • De ACPI-tabellen voor het "virt" -machinetype ondersteunen ITS.
  • Het Cadence GEM-apparaat ondersteunt nu meerdere prioriteitswachturen via de eigenschap num-priority-queues.
  • Het STM32F2xx-bord (Netduino 2) bevat nu ADC- en SPI-apparaten.
  • MIPS:
  • Ondersteuning voor 24KEc CPU's.
  • PowerPC:
  • Ondersteuning voor POWER9 CPU's.
  • Verbeteringen voor het nieuwe "powernv" -platform.
  • pSeries:
  • PCI-host-bridges kunnen aan NUMA-knooppunten worden gekoppeld.
  • Ondersteuning voor meer dan 1 TiB gastgeheugen.
  • Ondersteuning voor meer dan 64 GiB van MMIO-venster in een PCI-hostbrug.
  • Ondersteuning voor de parameter "-prom-env"
  • s390:
  • Ondersteuning voor CPU-modellen.
  • Ondersteuning voor herziening van virtio-ccw 2.
  • x86
  • Ondersteuning voor verschillende nieuwe CPUID-functies met betrekking tot AVX-512-instructieset-uitbreidingen.
  • De geëmuleerde IOAPIC (gebruikt door TCG en, met KVM, als de optie "-machine kernel_irqchip" de waarde "off" of "split" heeft), is nu standaard ingesteld op versie 0x20, die gerichte eind-van-interrupt-berichten ondersteunt.
  • Ondersteuning voor Extended Interrupt Mode (EIM) in het intel_iommu-apparaat. EIM vereist KVM (Linux v4.7 of nieuwer, voor x2APIC-ondersteuning) en "-machine kernel-irqchip = split"; het wordt automatisch ingeschakeld als interrupt remapping is ingeschakeld ("-machine kernel-irqchip = split-device intel_iommu, intremap = on").
  • Ondersteuning voor maximaal 288 CPU's met de Q35-machinetypes. 256 of meer CPU's worden alleen ondersteund als IOMMU en EIM zijn ingeschakeld.
  • Xen:
  • Ondersteuning voor het loskoppelen van de SCSI-schijf.
  • Ondersteuning voor SUSE xenlinux-compatibel apparaat ontkoppelen.
  • Apparaatemulatie en toewijzing:
  • QEMU bevat nu een generieke loader-pseudo-apparaat waarmee u bij het opstarten meerdere afbeeldingen of waarden in het geheugen kunt laden. Dit apparaat is gedocumenteerd in docs / generic-loader.txt.
  • ACPI
  • Ondersteuning voor hotplugging van NVDIMM-apparaten (_FIT)
  • Netwerkapparaten:
  • Ondersteuning voor fouttolerantie op basis van grofkorrelige vergrendelingsstap (COLO).
  • PCI / PCIe:
  • Het voorbeeld-EDU-apparaat ondersteunt nu MSI.
  • PCI Express Guidelines documentation is toegevoegd voor advies over topologie en PCI versus PCIe.
  • virtio:
  • Nieuw apparaat vhost-vsock.
  • Initiële ondersteuning voor sierlijke afhandeling van gastfouten (d.w.z. QEMU moet niet afsluiten voor gastfouten).
  • Ondersteuning voor een nieuw virtio-crypto-apparaat.
  • Xen:
  • Ondersteuning voor subsidie-exemplaar.
  • Crypto-subsysteem:
  • Ondersteuning voor meer hash-algoritmen voor PBKDF.
  • Ondersteuning voor de CTR-modus.
  • GUI:
  • SPICE kan pure OpenGL-rendering gebruiken als "gl = on" is opgegeven.
  • Monitor:
  • Migratie:
  • Ondersteuning voor fouttolerantie op basis van grofkorrelige vergrendelingsstap (COLO).
  • Netwerk:
  • Apparaten en hulpmiddelen blokkeren:
  • Meer QMP-opdrachten ondersteunen knooppuntnaam (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file , drive-backup, drive-mirror, nbd-server-add).
  • De gebeurtenis BLOCK_IO_ERROR bevat nu de naam van het knooppunt.
  • Meer QMP-opdrachten accepteren apparaatmodelnamen (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • De DEVICE_TRAY_MOVED-gebeurtenis bevat nu de apparaat-ID.
  • Beperking is nu alleen van toepassing op het gastapparaat en niet voor het blokkeren van taken of de NBD-server.
  • drive-backup en blockdev-backup ondersteuning voor het schrijven van back-ups in gecomprimeerd formaat.
  • Het LUKS-formaat kan nu de PBKDF-iteratietelling configureren.
  • blokstroom ondersteunt het streamen van een achtergrondbestand naar een ander achtergrondbestand.
  • Ondersteuning voor replicatie, voor grofkorrelige vergrendelingstolerantie (COLO) fouttolerantie.
  • Nieuwe "dd" -combinatie van qemu-img.
  • Het DMG-stuurprogramma kan worden gecompileerd naar een afzonderlijk stuurprogramma, om de QEMU-afhankelijkheid van libbz2 optioneel te maken.
  • Ondersteuning voor iSER in QSCU's iSCSI-initiator via een iser: // URI.
  • De NBD-client en -server ondersteunen de extensie NBD_CMD_WRITE_ZEROES.
  • Raw-afbeeldingen ondersteunen de opties "Offset" en "Grootte" om alleen toegang te krijgen tot een deel van het bestand of apparaat.
  • Tracing:
  • Nieuwe tracering-backend "syslog".
  • Ondersteuning voor meerdere "-d trace: PATTERN" opdrachtregelargumenten.
  • CLI-opties:
  • Gebruikersmodusemulatie
  • Doelondersteuning verwijderd
  • Het unicore32-linux-user doel implementeerde een andere systeemaanroep ABI van mainline Linux voor deze architectuur. Ondersteuning hiervoor is weggelaten.
  • Nieuwe functionaliteit:
  • Ondersteuning toegevoegd voor meer syscalls waaronder preadv, pwritev, syslog.
  • Belangrijke verbeteringen in schaalbaarheid voor multi-threaded programma's (ARM, SPARC, x86).
  • QEMU kan nu hek- en cmpxchg-bewerkingen begrijpen en genereren.
  • TCG:
  • Nieuwe TCG-primitieven zijn toegevoegd voor het veilig modelleren van architecturale synchronisatie-instructies (bijvoorbeeld atomaire, LL / SC, LOCK-voorvoegsels). arm, aarch64, alpha en x86 doelen gebruiken nu deze primitieven voor multi-threaded linux-user programma's. TCG-doelbeheerders worden aangemoedigd om hun front-ends te gebruiken om de nieuwe faciliteiten te gebruiken.
  • De TCG-backends geven nu passende barrière-instructies voor frontend-barrières bij het uitvoeren van multi-threaded programma's. Het emuleren van een sterk geordende architectuur (bijvoorbeeld x86) op een zwak geordende (bijvoorbeeld ARM of POWER) zal echter nog niet werken.
  • tb_flush () is eindelijk thread-safe, wat betekent dat programma's met meerdere threads minder snel zullen crashen wanneer de vertaalbuffer wordt gereset
  • vergrendelingsconflict in de hoofdcpu-run-loop is verminderd, waardoor de prestaties van code met meerdere threads zijn verbeterd
  • een aantal races werden geïdentificeerd en gerepareerd
  • Veel van het TCG-werk is samengevoegd in deze cyclus, waarbij vereisten voor ondersteuning van multi-threaded systeememulatie (MTTCG) zijn vereist. Hoewel de volledige MTTCG-ondersteuning naar verwachting zal worden samengevoegd in de volgende ontwikkelingscyclus, zullen multi-threaded linux-user-programma's al profiteren van dit werk.

Wat is nieuw in versie 2.9.0:

  • Systeememulatie:
  • Onverenigbare wijzigingen:
  • Het aantal toegestane PCI-hostbruggen voor pSeries-machine is teruggebracht van 256 naar 31 (meer kan worden geconfigureerd door MMIO-vensters handmatig in te stellen).
  • Ondersteuning voor tftp: // in de bloklaag verwijderd, omdat dit voor altijd is verbroken voor bestanden groter dan 256 KB.
  • Toekomstige incompatibele wijzigingen:
  • Drie opties gebruiken verschillende namen op de opdrachtregel en in het configuratiebestand. In het bijzonder:
  • Het configuratiebestand van "acpi" komt overeen met de opdrachtregeloptie "acpitable";
  • Het configuratiebestandsgedeelte 'boot-opts' komt overeen met de opdrachtregeloptie 'boot';
  • Het configuratiebestand van "smp-opts" komt overeen met de opdrachtregeloptie "smp".
  • -readconfig zal standaardiseren op de naam voor de opdrachtregeloptie.
  • Gedrag van automatische berekening van SMP-topologie wanneer sommige SMP-topologie-opties voor -smp zijn weggelaten (sockets, kernen, threads) in de toekomst zullen veranderen. Als gast-ABI tijdens upgrades moet worden bewaard tijdens het gebruik van de SMP-topologieopties, moeten gebruikers alle opties expliciet instellen (sockets, kernen, threads) of alle opties weglaten.
  • Apparaten "allwinner-a10", "pc87312", "ssi-sd" worden geconfigureerd met expliciete eigenschappen in plaats van impliciet. Het is onwaarschijnlijk dat dit van invloed is op gebruikers.
  • QMP-opdracht blockdev-add is nog steeds een werk in uitvoering. Het ondersteunt niet alle blockdrivers, het mist een matching blockdev-del en meer. Het kan incompatibel veranderen.
  • Voor x86 zal het opgeven van een CPUID-functie met zowel "+ feature / -feature" en "feature = on / off" een waarschuwing veroorzaken. Het huidige gedrag voor deze combinatie ("+ feature / -feature" wint over "feature = on / off") zal worden gewijzigd, zodat "+ feature" en "-feature" synoniemen zullen zijn voor "feature = on" en "feature = uit "respectievelijk).
  • ARM:
  • Verbeteringen aan het Aspeed-bord.
  • Ondersteuning voor HLT-semihosting-traps in de AArch32-modus (zowel ARM als Thumb).
  • De ACPI-tabellen voor het "virt" -machinetype ondersteunen ITS.
  • Het Cadence GEM-apparaat ondersteunt nu meerdere prioriteitswachturen via de eigenschap num-priority-queues.
  • Het STM32F2xx-bord (Netduino 2) bevat nu ADC- en SPI-apparaten.
  • MIPS:
  • Ondersteuning voor 24KEc CPU's.
  • PowerPC:
  • Ondersteuning voor POWER9 CPU's.
  • Verbeteringen voor het nieuwe "powernv" -platform.
  • pSeries:
  • PCI-host-bridges kunnen aan NUMA-knooppunten worden gekoppeld.
  • Ondersteuning voor meer dan 1 TiB gastgeheugen.
  • Ondersteuning voor meer dan 64 GiB van MMIO-venster in een PCI-hostbrug.
  • Ondersteuning voor de parameter "-prom-env"
  • s390:
  • Ondersteuning voor CPU-modellen.
  • Ondersteuning voor herziening van virtio-ccw 2.
  • x86
  • Ondersteuning voor verschillende nieuwe CPUID-functies met betrekking tot AVX-512-instructieset-uitbreidingen.
  • De geëmuleerde IOAPIC (gebruikt door TCG en, met KVM, als de optie "-machine kernel_irqchip" de waarde "off" of "split" heeft), is nu standaard ingesteld op versie 0x20, die gerichte eind-van-interrupt-berichten ondersteunt.
  • Ondersteuning voor Extended Interrupt Mode (EIM) in het intel_iommu-apparaat. EIM vereist KVM (Linux v4.7 of nieuwer, voor x2APIC-ondersteuning) en "-machine kernel-irqchip = split"; het wordt automatisch ingeschakeld als interrupt remapping is ingeschakeld ("-machine kernel-irqchip = split-device intel_iommu, intremap = on").
  • Ondersteuning voor maximaal 288 CPU's met de Q35-machinetypes. 256 of meer CPU's worden alleen ondersteund als IOMMU en EIM zijn ingeschakeld.
  • Xen:
  • Ondersteuning voor het loskoppelen van de SCSI-schijf.
  • Ondersteuning voor SUSE xenlinux-compatibel apparaat ontkoppelen.
  • Apparaatemulatie en toewijzing:
  • QEMU bevat nu een generieke loader-pseudo-apparaat waarmee u bij het opstarten meerdere afbeeldingen of waarden in het geheugen kunt laden. Dit apparaat is gedocumenteerd in docs / generic-loader.txt.
  • ACPI
  • Ondersteuning voor hotplugging van NVDIMM-apparaten (_FIT)
  • Netwerkapparaten:
  • Ondersteuning voor fouttolerantie op basis van grofkorrelige vergrendelingsstap (COLO).
  • PCI / PCIe:
  • Het voorbeeld-EDU-apparaat ondersteunt nu MSI.
  • PCI Express Guidelines documentation is toegevoegd voor advies over topologie en PCI versus PCIe.
  • virtio:
  • Nieuw apparaat vhost-vsock.
  • Initiële ondersteuning voor sierlijke afhandeling van gastfouten (d.w.z. QEMU moet niet afsluiten voor gastfouten).
  • Ondersteuning voor een nieuw virtio-crypto-apparaat.
  • Xen:
  • Ondersteuning voor subsidie-exemplaar.
  • Crypto-subsysteem:
  • Ondersteuning voor meer hash-algoritmen voor PBKDF.
  • Ondersteuning voor de CTR-modus.
  • GUI:
  • SPICE kan pure OpenGL-rendering gebruiken als "gl = on" is opgegeven.
  • Monitor:
  • Migratie:
  • Ondersteuning voor fouttolerantie op basis van grofkorrelige vergrendelingsstap (COLO).
  • Netwerk:
  • Apparaten en hulpmiddelen blokkeren:
  • Meer QMP-opdrachten ondersteunen knooppuntnaam (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file , drive-backup, drive-mirror, nbd-server-add).
  • De gebeurtenis BLOCK_IO_ERROR bevat nu de naam van het knooppunt.
  • Meer QMP-opdrachten accepteren apparaatmodelnamen (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • De DEVICE_TRAY_MOVED-gebeurtenis bevat nu de apparaat-ID.
  • Beperking is nu alleen van toepassing op het gastapparaat en niet voor het blokkeren van taken of de NBD-server.
  • drive-backup en blockdev-backup ondersteuning voor het schrijven van back-ups in gecomprimeerd formaat.
  • Het LUKS-formaat kan nu de PBKDF-iteratietelling configureren.
  • blokstroom ondersteunt het streamen van een achtergrondbestand naar een ander achtergrondbestand.
  • Ondersteuning voor replicatie, voor grofkorrelige vergrendelingstolerantie (COLO) fouttolerantie.
  • Nieuwe "dd" -combinatie van qemu-img.
  • Het DMG-stuurprogramma kan worden gecompileerd naar een afzonderlijk stuurprogramma, om de QEMU-afhankelijkheid van libbz2 optioneel te maken.
  • Ondersteuning voor iSER in QSCU's iSCSI-initiator via een iser: // URI.
  • De NBD-client en -server ondersteunen de extensie NBD_CMD_WRITE_ZEROES.
  • Raw-afbeeldingen ondersteunen de opties "Offset" en "Grootte" om alleen toegang te krijgen tot een deel van het bestand of apparaat.
  • Tracing:
  • Nieuwe tracering-backend "syslog".
  • Ondersteuning voor meerdere "-d trace: PATTERN" opdrachtregelargumenten.
  • CLI-opties:
  • Gebruikersmodusemulatie
  • Doelondersteuning verwijderd
  • Het unicore32-linux-user doel implementeerde een andere systeemaanroep ABI van mainline Linux voor deze architectuur. Ondersteuning hiervoor is weggelaten.
  • Nieuwe functionaliteit:
  • Ondersteuning toegevoegd voor meer syscalls waaronder preadv, pwritev, syslog.
  • Belangrijke verbeteringen in schaalbaarheid voor multi-threaded programma's (ARM, SPARC, x86).
  • QEMU kan nu hek- en cmpxchg-bewerkingen begrijpen en genereren.
  • TCG:
  • Nieuwe TCG-primitieven zijn toegevoegd voor het veilig modelleren van architecturale synchronisatie-instructies (bijvoorbeeld atomaire, LL / SC, LOCK-voorvoegsels). arm, aarch64, alpha en x86 doelen gebruiken nu deze primitieven voor multi-threaded linux-user programma's. TCG-doelbeheerders worden aangemoedigd om hun front-ends te gebruiken om de nieuwe faciliteiten te gebruiken.
  • De TCG-backends geven nu passende barrière-instructies voor frontend-barrières bij het uitvoeren van multi-threaded programma's. Het emuleren van een sterk geordende architectuur (bijvoorbeeld x86) op een zwak geordende (bijvoorbeeld ARM of POWER) zal echter nog niet werken.
  • tb_flush () is eindelijk thread-safe, wat betekent dat programma's met meerdere threads minder snel zullen crashen wanneer de vertaalbuffer wordt gereset
  • vergrendelingsconflict in de hoofdcpu-run-loop is verminderd, waardoor de prestaties van code met meerdere threads zijn verbeterd
  • een aantal races werden geïdentificeerd en gerepareerd
  • Veel van het TCG-werk is samengevoegd in deze cyclus, waarbij vereisten voor ondersteuning van multi-threaded systeememulatie (MTTCG) zijn vereist. Hoewel de volledige MTTCG-ondersteuning naar verwachting zal worden samengevoegd in de volgende ontwikkelingscyclus, zullen multi-threaded linux-user-programma's al profiteren van dit werk.

Andere software van ontwikkelaar Fabrice Bellard

FFmpeg
FFmpeg

17 Aug 18

Tiny C Compiler
Tiny C Compiler

3 Jun 15

TCCBOOT
TCCBOOT

3 Jun 15

Reacties op QEMU

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!