QEMU ay isang bukas na mapagkukunan at napakabilis na virtualization software na nakatutok sa dynamic na pagsasalin upang makamit ang makatwirang pagganap, habang ang pagiging madali sa port sa bagong host CPUs (processors).
Isang malakas na emulator ng makina at virtualizer
Ito ay kilala rin bilang isang makina emulator, ininhinyero upang tularan ang isang buong sistema, kabilang ang isang processor at mga peripheral nito. Sinusuportahan ng bahagi ng pagtulad ang mga operating system at program na nilikha para sa isang solong hardware platform, ngunit tumatakbo sa ibabaw ng ibang computer na may ibang architecture.
Sa kabilang banda, kapag ang application ay ginagamit bilang isang virtualizer, maaari itong makamit ang halos katutubong mga pagtatanghal sa pamamagitan ng pagpapatakbo ng guest code diretso sa processor ng host. Sinusuportahan nito ang Xen hypervisor at kernel module ng KVM (Kernel Virtual Machine).
Sinusuportahan ang virtualization ng maraming mga platform ng hardware
Kung ang KVM ay ginustong, ang application ay makakapag-virtualize ng x86 (32-bit), s390, PowerPC, ARM, m68k, MIPS, CRIS, Microblaze, MIPSEL, o32, at SPARC machine. Maaari itong tularan ang mga system ng Windows XP, FreeDOS at SunOS, pati na rin ang Virtio, USB Root Hubs, networking, input, video at storage device.
Pagkatapos ng VirtualBox at VMware, QEMU ang pangatlong pinakamalaking software ng virtualization para sa mga platform ng Linux, ngunit ang una at pinaka-makapangyarihang isa para sa open source ecosystem. Ang pangunahing tampok nito ay ang kakayahan na tumakbo bilang isang katutubong virtual machine sa 64-bit o 32-bit na mga architecture, o bilang isang dalisay na emulator.
Mga sinusuportahang operating system
Ito ay isang command-line software at tumatakbo sa mga operating system na nakabase sa Linux, pati na rin ang Microsoft Windows at iba't ibang mga UNIX flavors. Ang isang mapagkukunan ng archive ay ibinigay sa nakalaang pag-download na seksyon, na nagpapahintulot sa mga user na i-configure, itala at i-install ang programa sa anumang pamamahagi ng Linux, pati na rin sa mga sistema ng OpenBSD, Solaris, AIX, MinGW, at Cygwin.
Ibabang linya
Kung gusto mong subukan ang software, subukan ang iba't ibang mga operating system, o magpatakbo lamang ng mga application na hindi sinusuportahan sa iyong platform, nagbibigay ang QEMU ng mga user ng isa sa pinakamabilis na virtualization at emulator machine.
Ano ang bagong sa paglabas na ito:
- Pagtulad ng system:
- Mga hindi magkatugma na pagbabago:
- Ang bilang ng mga pinahihintulutang tulay ng host ng PCI para sa machine ng pSeries ay nabawasan mula 256 hanggang 31 (mas maaaring maisaayos sa pamamagitan ng pag-set up nang manu-mano ng mga bintana ng MMIO).
- Inalis ang suporta para sa tftp: // sa layer na block, dahil ito ay nasira na magpakailanman para sa mga file na mas malaki kaysa sa 256KB.
- Mga hindi nauugnay na pagbabago sa hinaharap:
- Tatlong pagpipilian ang gumagamit ng iba't ibang mga pangalan sa command line at sa file ng pagsasaayos. Sa partikular:
- Ang & quot; acpi & quot; Ang mga seksyon ng configuration file ay tumutugma sa opsyon ng command-line & quot; acpitable & quot ;;
- Ang & quot; boot-opts & quot; Ang mga seksyon ng configuration file ay tumutugma sa opsyon ng command-line & quot; boot & quot ;;
- Ang & quot; smp-opts & quot; Ang mga seksyon ng configuration file ay tumutugma sa opsyon ng command-line & quot; smp & quot;.
- -readconfig ay pamantayan sa pangalan para sa opsyon na command line.
- Pag-uugali ng awtomatikong pagkalkula ng topology ng SMP kapag ang ilang mga opsyon sa topology ng SMP para sa -smp ay tinanggal (sockets, core, mga thread) ay magbabago sa hinaharap. Kung ang guest ABI ay kailangang mapangalagaan sa pag-upgrade habang ginagamit ang mga pagpipilian sa topology ng SMP, ang mga gumagamit ay dapat magtakda ng alinman sa itakda ang lahat ng mga opsyon nang tahasang (sockets, cores, threads), o umalis sa lahat ng mga ito.
- Mga Device & quot; allwinner-a10 & quot ;, & quot; pc87312 & quot ;, & quot; ssi-sd & quot; ay i-configure nang may mga malinaw na pag-aari sa halip na magkatulad. Ito ay malamang na hindi makakaapekto sa mga gumagamit.
- Ang command blockdev-add ng QMP ay isang gawa pa rin. Hindi nito sinusuportahan ang lahat ng mga bloke driver, ito ay walang isang pagtutugma blockdev-del, at higit pa. Maaaring magbago ito nang hindi naaayon.
- Para sa x86, tinukoy ang isang tampok na CPUID na may parehong & quot; + feature / -feature & quot; at & quot; feature = on / off & quot; ay magdudulot ng isang babala. Ang kasalukuyang pag-uugali para sa kumbinasyong ito (& quot; + tampok / -fature & quot; panalo sa & quot; tampok = sa / off & quot;) ay mababago upang ang & quot; tampok na & quot; at & quot; -feature & quot; ay magkakasabay para sa & quot; feature = sa & quot; at & quot; feature = off & quot; ayon sa pagkakabanggit).
- braso:
- Pagpapabuti sa Aspeed board.
- Suporta para sa mga HLT semihosting traps sa AArch32 mode (parehong ARM at Thumb).
- Ang mga talahanayan ng ACPI para sa & quot; virt & quot; machine type support ITS.
- Sinusuportahan na ngayon ng device ng Cadence GEM ang maramihang mga queue ng priyoridad sa pamamagitan ng num-priority-queues property.
- Kasama na ngayon ng board ng STM32F2xx (Netduino 2) ang mga aparatong ADC at SPI.
- MIPS:
- Suporta para sa 24KEc CPUs.
- PowerPC:
- Suporta para sa POWER9 CPU.
- Mga pagpapabuti para sa bagong & quot; powernv & quot; platform.
- pSeries:
- Maaaring maiugnay ang mga tulay ng host PCI sa NUMA nodes.
- Suporta para sa higit sa 1 TiB ng memorya ng panauhin.
- Suporta para sa higit sa 64 GiB ng window ng MMIO sa tulay ng host PCI.
- Suporta para sa & quot; -prom-env & quot; parameter
- s390:
- Suporta para sa mga modelo ng CPU.
- Suporta para sa virtio-ccw na pagbabago 2.
- x86:
- Suporta para sa ilang bagong mga tampok ng CPUID na may kaugnayan sa mga extension ng pagtuturo ng AVX-512.
- Ang emulated IOAPIC (ginagamit ng TCG at, kasama ang KVM, kung ang pagpipiliang & quot; -machine kernel_irqchip & quot; ay may halaga na & quot; off & quot; split & quot;) ngayon ang mga default sa bersyon 0x20, na sumusuporta sa itinakdang end-of- makatakip ng mga mensahe.
- Suporta para sa Extended Interrup Mode (EIM) sa aparatong intel_iommu. Nangangailangan ang EIM ng KVM (Linux v4.7 o mas bago, para sa suporta ng x2APIC) at & quot; -machine kernel-irqchip = split & quot ;; ito ay awtomatikong pinagana kung ang pag-abala ng pag-edit ay pinagana (& quot; -machine kernel-irqchip = split -device intel_iommu, intremap = sa & quot;).
- Suporta para sa hanggang sa 288 CPU na may mga uri ng Q35 machine. Sinusuportahan lamang ang 256 o higit pang mga CPU kung pinagana ang IOMMU at EIM.
- Xen:
- Suporta para sa pag-unplug sa disk ng SCSI.
- Suporta para sa unplug na katugmang SUSE xenlinux device.
- Pagtulad at pagtatalaga ng device:
- Kasama na ngayon ng QEMU ang generic loader palsipikado na aparato na nagbibigay-daan sa pag-load ka ng maraming mga imahe o mga halaga sa memory sa startup. Ang dokumentong ito ay dokumentado / generic-loader.txt.
- ACPI:
- Suporta para sa hotplugging ng mga NVDIMM device (_FIT)
- Mga device ng network:
- Suporta para sa pagpapahintulot ng kasalanan batay sa magaspang lock stepping (COLO).
- PCI / PCIe:
- Sinusuportahan na ngayon ng sample na aparatong EDU ang MSI.
- Ang dokumentasyon ng PCI Express Guidelines ay idinagdag para sa payo sa topology at PCI vs PCIe.
- virtio:
- Bagong device vhost-vsock.
- Paunang suporta para sa kaaya-ayang paghawak ng mga error ng bisita (ibig sabihin hindi dapat lumabas ang QEMU sa mga error ng bisita).
- Suporta para sa bagong aparato virtio-crypto.
- Xen:
- Suporta para sa bigyan ng kopya.
- Crypto subsystem:
- Suporta para sa higit pang mga hash na algorithm para sa PBKDF.
- Suporta para sa mode ng CTR.
- GUI:
- Maaaring gamitin ng Spice ang dalisay na pag-render ng OpenGL kung & quot; gl = sa & quot; ay tinukoy.
- Subaybayan:
- Migration:
- Suporta para sa pagpapahintulot sa kasalanan batay sa magaspang lock stepping (COLO).
- Network:
- I-block ang mga device at mga tool:
- Higit pang mga command ng QMP ang suporta sa pangalan ng node (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing- , drive-backup, drive-mirror, nbd-server-add).
- Kabilang na ngayon ng BLOCK_IO_ERROR kaganapan ang pangalan ng node.
- Karagdagang mga command sa QMP tanggapin ang mga pangalan ng modelo ng device (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
- Kasama na ngayon ng DEVICE_TRAY_MOVED na kaganapan ang device id.
- Nalalapat na ngayon ang throttling sa aparatong panauhin, at hindi upang harangan ang mga trabaho o ang NBD server.
- drive-backup at blockdev-backup na suporta sa pagsusulat ng mga backup sa naka-compress na format.
- Ang format ng LUKS ay maaari na ngayong i-configure ang bilang ng pag-ulit ng PBKDF.
- sinusuportahan ng block-stream ang pag-stream mula sa isang tagapagtaguyod ng file sa isa pang file ng pag-back up.
- Suporta para sa pagtitiklop, para sa pagkakasunud-sunod ng tolerance ng magaspang na lock stepping (COLO).
- Bagong & quot; dd & quot; subcomamand ng qemu-img.
- Ang DMG driver ay maaaring ipagsama sa isang hiwalay na driver, upang maitaguyod ang dependency ng QEMU sa libbz2.
- Suporta para sa iSER sa iSCSI initiator ng QEMU sa pamamagitan ng isang iser: // URI.
- Sinusuportahan ng client at server ng NBD ang extension ng NBD_CMD_WRITE_ZEROES.
- Sinusuportahan ng mga larawan ng raw & quot; offset & quot; at & quot; laki & quot; mga pagpipilian upang ma-access lamang ang isang bahagi ng file o device.
- Pagsubaybay:
- Bagong bayarang backend & quot; syslog & quot;.
- Suporta para sa maramihang & quot; -d trace: PATTERN & quot; argumento ng command-line.
- Mga pagpipilian sa CLI:
- Pagsusulit ng user-mode
- Tinanggal na target na suporta li>
- Ang target na unicore32-linux-user ay nagpatupad ng iba't ibang sistema ng tawag na ABI mula sa mainline Linux para sa arkitektura na ito. Ang suporta para sa mga ito ay bumaba.
- Bagong pag-andar:
- Nagdagdag ng suporta para sa higit pang mga syscall kabilang ang preadv, pwritev, syslog.
- Mga pangunahing pagpapabuti sa kakayahang magamit para sa mga multi-threaded na programa (ARM, SPARC, x86).
- Maaari na ngayong maunawaan at makagawa ng QEMU ang bakod at pagpapatakbo ng cmpxchg.
- TCG:
- Ang mga bagong TCG primitiba ay idinagdag para sa ligtas na pagmomodelo ng mga tagubilin sa pag-synchronize ng arkitektura (hal. atomics, LL / SC, prefix ng LOCK). braso, aarch64, alpha at x86 na mga target ngayon gamitin ang mga primitibo para sa mga multi-threaded linux-user na mga programa. Hinihikayat ang mga tagapangasiwa ng TCG na i-port ang kanilang front-ends upang magamit ang mga bagong facility.
- tb_flush () ay sa wakas ang thread-safe na kahulugan na mga multi-threaded na programa ay mas malamang na mag-crash kapag ang buffer ng pagsasalin ay reset
- Ang lock ng pagtatalo sa pangunahing cpu run-loop ay nabawasan ang pagpapabuti ng pagganap para sa multi-threaded code
- isang bilang ng mga karera ay kinilala at naayos
- Marami sa trabaho ng TCG na pinagsama sa ikot na ito kung saan ang mga kinakailangan para sa pagsuporta sa multi-threaded system emulation (MTTCG). Habang ang buong suporta sa MTTCG ay inaasahang pagsasama sa susunod na cycle ng pag-unlad, ang mga programang multi-sinulid na linux-user ay makikinabang mula sa gawaing ito.
Ang TCG backend ngayon ay naglalabas ng angkop na mga tagubilin sa barrier para sa frontend na mga hadlang kapag nagpapatakbo ng mga multi-threaded na programa. Gayunman, ang pagtulad sa isang arkitektong strongly-order (hal., X86) sa isang hindi maayos na iniutos (hal., ARM o POWER) ay hindi gagana pa.
Ano ang bagong sa bersyon:
- Pagtulad ng sistema:
- Mga hindi magkatugma na pagbabago:
- Ang bilang ng mga pinahihintulutang tulay ng host ng PCI para sa machine ng pSeries ay nabawasan mula 256 hanggang 31 (mas maaaring maisaayos sa pamamagitan ng pag-set up nang manu-mano ng mga bintana ng MMIO).
- Inalis ang suporta para sa tftp: // sa layer na block, dahil ito ay nasira na magpakailanman para sa mga file na mas malaki kaysa sa 256KB.
- Mga hindi nauugnay na pagbabago sa hinaharap:
- Tatlong pagpipilian ang gumagamit ng iba't ibang mga pangalan sa command line at sa file ng pagsasaayos. Sa partikular:
- Ang seksyon ng configuration ng "acpi" ay tumutugma sa opsyon ng command-line na "acpitable";
- Ang mga seksyon ng configuration ng "boot-opt" ay tumutugma sa opsyon sa command-line na "boot";
- Ang mga seksyon ng configuration ng "smp-opt" ay tumutugma sa opsyon sa command-line na "smp".
- -readconfig ay pamantayan sa pangalan para sa opsyon na command line.
- Pag-uugali ng awtomatikong pagkalkula ng topology ng SMP kapag ang ilang mga opsyon sa topology ng SMP para sa -smp ay tinanggal (sockets, core, mga thread) ay magbabago sa hinaharap. Kung ang guest ABI ay kailangang mapanatili sa mga pag-upgrade habang ginagamit ang mga pagpipilian sa topology ng SMP, ang mga gumagamit ay dapat magtakda ng alinman sa itakda ang lahat ng mga opsyon nang tahasang (sockets, core, mga thread), o alisin lahat ng mga ito.
- Ang mga device na "allwinner-a10", "pc87312", "ssi-sd" ay i-configure na may mga malinaw na pag-aari sa halip na pantay. Ito ay malamang na hindi makakaapekto sa mga gumagamit.
- Ang command blockdev-add ng QMP ay isang gawa pa rin. Hindi nito sinusuportahan ang lahat ng mga bloke driver, ito ay walang isang pagtutugma blockdev-del, at higit pa. Maaaring magbago ito nang hindi naaayon.
- Para sa x86, tumutukoy sa isang tampok na CPUID na may parehong "+ feature / -feature" at "feature = on / off" ay magdudulot ng babala. Ang kasalukuyang pag-uugali para sa kumbinasyon na ito ("tampok + / -fature" na panalo sa "tampok = on / off") ay babaguhin upang ang "+ feature" at "-feature" ay mga kasingkahulugan para sa "tampok = sa" at "tampok = off "ayon sa pagkakabanggit).
- braso:
- Pagpapabuti sa Aspeed board.
- Suporta para sa mga HLT semihosting traps sa AArch32 mode (parehong ARM at Thumb).
- Ang mga talahanayan ng ACPI para sa suporta ng uri ng "virt" na makina ITS.
- Sinusuportahan na ngayon ng device ng Cadence GEM ang maramihang mga queue ng priyoridad sa pamamagitan ng num-priority-queues property.
- Kasama na ngayon ng board ng STM32F2xx (Netduino 2) ang mga aparatong ADC at SPI.
- MIPS:
- Suporta para sa 24KEc CPUs.
- PowerPC:
- Suporta para sa POWER9 CPU.
- Mga pagpapabuti para sa bagong "powernv" na platform.
- pSeries:
- Maaaring maiugnay ang mga tulay ng host PCI sa NUMA nodes.
- Suporta para sa higit sa 1 TiB ng memorya ng panauhin.
- Suporta para sa higit sa 64 GiB ng window ng MMIO sa tulay ng host PCI.
- Suporta para sa parameter na "-prom-env"
- s390:
- Suporta para sa mga modelo ng CPU.
- Suporta para sa virtio-ccw na pagbabago 2.
- x86:
- Suporta para sa ilang bagong mga tampok ng CPUID na may kaugnayan sa mga extension ng pagtuturo ng AVX-512.
- Suporta para sa Extended Interrup Mode (EIM) sa aparatong intel_iommu. Nangangailangan ang EIM ng KVM (Linux v4.7 o mas bago, para sa suporta ng x2APIC) at "-machine kernel-irqchip = split"; ito ay awtomatikong pinagana kung ang pag-abala ng pag-edit ay pinagana ("-machine kernel-irqchip = split -device intel_iommu, intremap = sa").
- Suporta para sa hanggang sa 288 CPU na may mga uri ng Q35 machine. Sinusuportahan lamang ang 256 o higit pang mga CPU kung pinagana ang IOMMU at EIM.
- Xen:
- Suporta para sa pag-unplug sa disk ng SCSI.
- Suporta para sa unplug na katugmang SUSE xenlinux device.
- Pagtulad at pagtatalaga ng device:
- Kasama na ngayon ng QEMU ang generic loader palsipikado na aparato na nagbibigay-daan sa pag-load ka ng maraming mga imahe o mga halaga sa memory sa startup. Ang dokumentong ito ay dokumentado / generic-loader.txt.
- ACPI:
- Suporta para sa hotplugging ng mga NVDIMM device (_FIT)
- Mga device ng network:
- Suporta para sa pagpapahintulot sa kasalanan batay sa magaspang lock stepping (COLO).
- PCI / PCIe:
- Sinusuportahan na ngayon ng sample na aparatong EDU ang MSI.
- Ang dokumentasyon ng PCI Express Guidelines ay idinagdag para sa payo sa topology at PCI vs PCIe.
- virtio:
- Bagong device vhost-vsock.
- Paunang suporta para sa kaaya-ayang paghawak ng mga error ng bisita (ibig sabihin hindi dapat lumabas ang QEMU sa mga error ng bisita).
- Suporta para sa bagong aparato virtio-crypto.
- Xen:
- Suporta para sa bigyan ng kopya.
- Crypto subsystem:
- Suporta para sa higit pang mga hash na algorithm para sa PBKDF.
- Suporta para sa mode ng CTR.
- GUI:
- Maaaring gamitin ng Spice ang dalisay na rendering ng OpenGL kung tinukoy ang "gl = on".
- Subaybayan:
- Migration:
- Suporta para sa pagpapahintulot sa kasalanan batay sa magaspang lock stepping (COLO).
- Network:
- I-block ang mga device at mga tool:
- Higit pang mga command ng QMP ang suporta sa pangalan ng node (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing- , drive-backup, drive-mirror, nbd-server-add).
- Kabilang na ngayon ng BLOCK_IO_ERROR kaganapan ang pangalan ng node.
- Karagdagang mga command sa QMP tanggapin ang mga pangalan ng modelo ng device (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
- Kasama na ngayon ng DEVICE_TRAY_MOVED na kaganapan ang device id.
- Nalalapat na ngayon ang throttling sa aparatong panauhin, at hindi upang harangan ang mga trabaho o ang NBD server.
- drive-backup at blockdev-backup na suporta sa pagsusulat ng mga backup sa naka-compress na format.
- Ang format ng LUKS ay maaari na ngayong i-configure ang bilang ng pag-ulit ng PBKDF.
- sinusuportahan ng block-stream ang pag-stream mula sa isang tagapagtaguyod ng file sa isa pang file ng pag-back up.
- Suporta para sa pagtitiklop, para sa pagkakasunud-sunod ng tolerance ng magaspang na lock stepping (COLO).
- Bagong "dd" subcomamand ng qemu-img.
- Ang DMG driver ay maaaring ipagsama sa isang hiwalay na driver, upang maitaguyod ang dependency ng QEMU sa libbz2.
- Suporta para sa iSER sa iSCSI initiator ng QEMU sa pamamagitan ng isang iser: // URI.
- Sinusuportahan ng client at server ng NBD ang extension ng NBD_CMD_WRITE_ZEROES.
- Sinusuportahan ng mga mahahalagang larawan ang mga opsyon na "offset" at "laki" upang ma-access lamang ang isang bahagi ng file o device.
- Pagsubaybay:
- Bagong sinusunod na backend "syslog".
- Suporta para sa maramihang mga argumento ng command-line na "-d trace: PATTERN".
- Mga pagpipilian sa CLI:
- Pagsusulit ng user-mode
- Tinanggal na target na suporta li>
- Ang target na unicore32-linux-user ay nagpatupad ng iba't ibang sistema ng tawag na ABI mula sa mainline Linux para sa arkitektura na ito. Ang suporta para sa mga ito ay bumaba.
- Bagong pag-andar:
- Nagdagdag ng suporta para sa higit pang mga syscall kabilang ang preadv, pwritev, syslog.
- Mga pangunahing pagpapabuti sa kakayahang magamit para sa mga multi-threaded na programa (ARM, SPARC, x86).
- Maaari na ngayong maunawaan at makagawa ng QEMU ang bakod at pagpapatakbo ng cmpxchg.
- TCG:
- Ang mga bagong TCG primitiba ay idinagdag para sa ligtas na pagmomodelo ng mga tagubilin sa pag-synchronize ng arkitektura (hal. atomics, LL / SC, prefix ng LOCK). braso, aarch64, alpha at x86 na mga target ngayon gamitin ang mga primitibo para sa mga multi-threaded linux-user na mga programa. Hinihikayat ang mga tagapangasiwa ng TCG na i-port ang kanilang front-ends upang magamit ang mga bagong facility.
- tb_flush () ay sa wakas ang thread-safe na kahulugan na mga multi-threaded na programa ay mas malamang na mag-crash kapag ang buffer ng pagsasalin ay reset
- Ang lock ng pagtatalo sa pangunahing cpu run-loop ay nabawasan ang pagpapabuti ng pagganap para sa multi-threaded code
- isang bilang ng mga karera ay kinilala at naayos
- Marami sa trabaho ng TCG na pinagsama sa ikot na ito kung saan ang mga kinakailangan para sa pagsuporta sa multi-threaded system emulation (MTTCG). Habang ang buong suporta sa MTTCG ay inaasahang pagsasama sa susunod na cycle ng pag-unlad, ang mga programang multi-sinulid na linux-user ay makikinabang mula sa gawaing ito.
Ang emulated IOAPIC (ginagamit ng TCG at, kasama ang KVM, kung ang opsyon na "-machine kernel_irqchip" ay may halaga na "off" o "split") ngayon ay default sa bersyon 0x20, na sumusuporta sa direktang mga mensahe ng pagtatapos ng pagtigil.
Ang TCG backend ngayon ay naglalabas ng angkop na mga tagubilin sa barrier para sa frontend na mga hadlang kapag nagpapatakbo ng mga multi-threaded na programa. Gayunman, ang pagtulad sa isang arkitektong strongly-order (hal., X86) sa isang hindi maayos na iniutos (hal., ARM o POWER) ay hindi gagana pa.
Ano ang bago sa bersyon 2.9.0:
- Pagtulad ng sistema:
- Mga hindi magkatugma na pagbabago:
- Ang bilang ng mga pinahihintulutang tulay ng host ng PCI para sa machine ng pSeries ay nabawasan mula 256 hanggang 31 (mas maaaring maisaayos sa pamamagitan ng pag-set up nang manu-mano ng mga bintana ng MMIO).
- Inalis ang suporta para sa tftp: // sa layer na block, dahil ito ay nasira na magpakailanman para sa mga file na mas malaki kaysa sa 256KB.
- Mga hindi nauugnay na pagbabago sa hinaharap:
- Tatlong pagpipilian ang gumagamit ng iba't ibang mga pangalan sa command line at sa file ng pagsasaayos. Sa partikular:
- Ang seksyon ng configuration ng "acpi" ay tumutugma sa opsyon ng command-line na "acpitable";
- Ang mga seksyon ng configuration ng "boot-opt" ay tumutugma sa opsyon sa command-line na "boot";
- Ang mga seksyon ng configuration ng "smp-opt" ay tumutugma sa opsyon sa command-line na "smp".
- -readconfig ay pamantayan sa pangalan para sa opsyon na command line.
- Pag-uugali ng awtomatikong pagkalkula ng topology ng SMP kapag ang ilang mga opsyon sa topology ng SMP para sa -smp ay tinanggal (sockets, core, mga thread) ay magbabago sa hinaharap. Kung ang guest ABI ay kailangang mapanatili sa mga pag-upgrade habang ginagamit ang mga pagpipilian sa topology ng SMP, ang mga gumagamit ay dapat magtakda ng alinman sa itakda ang lahat ng mga opsyon nang tahasang (sockets, core, mga thread), o alisin lahat ng mga ito.
- Ang mga device na "allwinner-a10", "pc87312", "ssi-sd" ay i-configure na may mga malinaw na pag-aari sa halip na pantay. Ito ay malamang na hindi makakaapekto sa mga gumagamit.
- Ang command blockdev-add ng QMP ay isang gawa pa rin. Hindi nito sinusuportahan ang lahat ng mga bloke driver, ito ay walang isang pagtutugma blockdev-del, at higit pa. Maaaring magbago ito nang hindi naaayon.
- Para sa x86, tumutukoy sa isang tampok na CPUID na may parehong "+ feature / -feature" at "feature = on / off" ay magdudulot ng babala. Ang kasalukuyang pag-uugali para sa kumbinasyon na ito ("tampok + / -fature" na panalo sa "tampok = on / off") ay babaguhin upang ang "+ feature" at "-feature" ay mga kasingkahulugan para sa "tampok = sa" at "tampok = off "ayon sa pagkakabanggit).
- braso:
- Pagpapabuti sa Aspeed board.
- Suporta para sa mga HLT semihosting traps sa AArch32 mode (parehong ARM at Thumb).
- Ang mga talahanayan ng ACPI para sa suporta ng uri ng "virt" na makina ITS.
- Sinusuportahan na ngayon ng device ng Cadence GEM ang maramihang mga queue ng priyoridad sa pamamagitan ng num-priority-queues property.
- Kasama na ngayon ng board ng STM32F2xx (Netduino 2) ang mga aparatong ADC at SPI.
- MIPS:
- Suporta para sa 24KEc CPUs.
- PowerPC:
- Suporta para sa POWER9 CPU.
- Mga pagpapabuti para sa bagong "powernv" na platform.
- pSeries:
- Maaaring maiugnay ang mga tulay ng host PCI sa NUMA nodes.
- Suporta para sa higit sa 1 TiB ng memorya ng panauhin.
- Suporta para sa higit sa 64 GiB ng window ng MMIO sa tulay ng host PCI.
- Suporta para sa parameter na "-prom-env"
- s390:
- Suporta para sa mga modelo ng CPU.
- Suporta para sa virtio-ccw na pagbabago 2.
- x86:
- Suporta para sa ilang bagong mga tampok ng CPUID na may kaugnayan sa mga extension ng pagtuturo ng AVX-512.
- Suporta para sa Extended Interrup Mode (EIM) sa aparatong intel_iommu. Nangangailangan ang EIM ng KVM (Linux v4.7 o mas bago, para sa suporta ng x2APIC) at "-machine kernel-irqchip = split"; ito ay awtomatikong pinagana kung ang pag-abala ng pag-edit ay pinagana ("-machine kernel-irqchip = split -device intel_iommu, intremap = sa").
- Suporta para sa hanggang sa 288 CPU na may mga uri ng Q35 machine. Sinusuportahan lamang ang 256 o higit pang mga CPU kung pinagana ang IOMMU at EIM.
- Xen:
- Suporta para sa pag-unplug sa disk ng SCSI.
- Suporta para sa unplug na katugmang SUSE xenlinux device.
- Pagtulad at pagtatalaga ng device:
- Kasama na ngayon ng QEMU ang generic loader palsipikado na aparato na nagbibigay-daan sa pag-load ka ng maraming mga imahe o mga halaga sa memory sa startup. Ang dokumentong ito ay dokumentado / generic-loader.txt.
- ACPI:
- Suporta para sa hotplugging ng mga NVDIMM device (_FIT)
- Mga device ng network:
- Suporta para sa pagpapahintulot sa kasalanan batay sa magaspang lock stepping (COLO).
- PCI / PCIe:
- Sinusuportahan na ngayon ng sample na aparatong EDU ang MSI.
- Ang dokumentasyon ng PCI Express Guidelines ay idinagdag para sa payo sa topology at PCI vs PCIe.
- virtio:
- Bagong device vhost-vsock.
- Paunang suporta para sa kaaya-ayang paghawak ng mga error ng bisita (ibig sabihin hindi dapat lumabas ang QEMU sa mga error ng bisita).
- Suporta para sa bagong aparato virtio-crypto.
- Xen:
- Suporta para sa bigyan ng kopya.
- Crypto subsystem:
- Suporta para sa higit pang mga hash na algorithm para sa PBKDF.
- Suporta para sa mode ng CTR.
- GUI:
- Maaaring gamitin ng Spice ang dalisay na rendering ng OpenGL kung tinukoy ang "gl = on".
- Subaybayan:
- Migration:
- Suporta para sa pagpapahintulot sa kasalanan batay sa magaspang lock stepping (COLO).
- Network:
- I-block ang mga device at mga tool:
- Higit pang mga command ng QMP ang suporta sa pangalan ng node (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing- , drive-backup, drive-mirror, nbd-server-add).
- Kabilang na ngayon ng BLOCK_IO_ERROR kaganapan ang pangalan ng node.
- Karagdagang mga command sa QMP tanggapin ang mga pangalan ng modelo ng device (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
- Kasama na ngayon ng DEVICE_TRAY_MOVED na kaganapan ang device id.
- Nalalapat na ngayon ang throttling sa aparatong panauhin, at hindi upang harangan ang mga trabaho o ang NBD server.
- drive-backup at blockdev-backup na suporta sa pagsusulat ng mga backup sa naka-compress na format.
- Ang format ng LUKS ay maaari na ngayong i-configure ang bilang ng pag-ulit ng PBKDF.
- sinusuportahan ng block-stream ang pag-stream mula sa isang tagapagtaguyod ng file sa isa pang file ng pag-back up.
- Suporta para sa pagtitiklop, para sa pagkakasunud-sunod ng tolerance ng magaspang na lock stepping (COLO).
- Bagong "dd" subcomamand ng qemu-img.
- Ang DMG driver ay maaaring ipagsama sa isang hiwalay na driver, upang maitaguyod ang dependency ng QEMU sa libbz2.
- Suporta para sa iSER sa iSCSI initiator ng QEMU sa pamamagitan ng isang iser: // URI.
- Sinusuportahan ng client at server ng NBD ang extension ng NBD_CMD_WRITE_ZEROES.
- Sinusuportahan ng mga mahahalagang larawan ang mga opsyon na "offset" at "laki" upang ma-access lamang ang isang bahagi ng file o device.
- Pagsubaybay:
- Bagong sinusunod na backend "syslog".
- Suporta para sa maramihang mga argumento ng command-line na "-d trace: PATTERN".
- Mga pagpipilian sa CLI:
- Pagsusulit ng user-mode
- Tinanggal na target na suporta li>
- Ang target na unicore32-linux-user ay nagpatupad ng iba't ibang sistema ng tawag na ABI mula sa mainline Linux para sa arkitektura na ito. Ang suporta para sa mga ito ay bumaba.
- Bagong pag-andar:
- Nagdagdag ng suporta para sa higit pang mga syscall kabilang ang preadv, pwritev, syslog.
- Mga pangunahing pagpapabuti sa kakayahang magamit para sa mga multi-threaded na programa (ARM, SPARC, x86).
- Maaari na ngayong maunawaan at makagawa ng QEMU ang bakod at pagpapatakbo ng cmpxchg.
- TCG:
- Ang mga bagong TCG primitiba ay idinagdag para sa ligtas na pagmomodelo ng mga tagubilin sa pag-synchronize ng arkitektura (hal. atomics, LL / SC, prefix ng LOCK). braso, aarch64, alpha at x86 na mga target ngayon gamitin ang mga primitibo para sa mga multi-threaded linux-user na mga programa. Hinihikayat ang mga tagapangasiwa ng TCG na i-port ang kanilang front-ends upang magamit ang mga bagong facility.
- Ang backend ng TCG ngayon ay naglalabas ng angkop na mga tagubilin para sa barrier para sa frontend na mga hadlang kapag nagpapatakbo ng mga multi-threaded na programa. Gayunman, ang pagtulad sa isang arkitektong strongly-order (hal., X86) sa isang hindi maayos na iniutos (hal., ARM o POWER) ay hindi gagana pa.
- tb_flush () ay sa wakas ang thread-safe na kahulugan na mga multi-threaded na programa ay mas malamang na mag-crash kapag ang buffer ng pagsasalin ay reset
- Ang lock ng pagtatalo sa pangunahing cpu run-loop ay nabawasan ang pagpapabuti ng pagganap para sa multi-threaded code
- isang bilang ng mga karera ay kinilala at naayos
- Marami sa trabaho ng TCG na pinagsama sa ikot na ito kung saan ang mga kinakailangan para sa pagsuporta sa multi-threaded system emulation (MTTCG). Habang ang buong suporta sa MTTCG ay inaasahang pagsasama sa susunod na cycle ng pag-unlad, ang mga programang multi-sinulid na linux-user ay makikinabang mula sa gawaing ito.
Ang emulated IOAPIC (ginagamit ng TCG at, kasama ang KVM, kung ang opsyon na "-machine kernel_irqchip" ay may halaga na "off" o "split") ngayon ay default sa bersyon 0x20, na sumusuporta sa direktang mga mensahe ng pagtatapos ng pagtigil.
Mga Komento hindi natagpuan