Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: f37bc03623cd22f3934264f50af926b9b63f6598 https://github.com/qemu/qemu/commit/f37bc03623cd22f3934264f50af926b9b63f6598 Author: Peter Xu <pet...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017)
Changed paths: M include/migration/vmstate.h M migration/savevm.c Log Message: ----------- migration: allow to prioritize save state entries During migration, save state entries are saved/loaded without a specific order - we just traverse the savevm_state.handlers list and do it one by one. This might not be enough. There are requirements that we need to load specific device's vmstate first before others. For example, VT-d IOMMU contains DMA address remapping information, which is required by all the PCI devices to do address translations. We need to make sure IOMMU's device state is loaded before the rest of the PCI devices, so that DMA address translation can work properly. This patch provide a VMStateDescription.priority value to allow specify the priority of the saved states. The loadvm operation will be done with those devices with higher vmsd priority. Before this patch, we are possibly achieving the ordering requirement by an assumption that the ordering will be the same with the ordering that objects are created. A better way is to mark it out explicitly in the VMStateDescription table, like what this patch does. Current ordering logic is still naive and slow, but after all that's not a critical path so IMO it's a workable solution for now. Signed-off-by: Peter Xu <pet...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Commit: 8cdcf3c1e58d04b6811956d7608efeb66c42d719 https://github.com/qemu/qemu/commit/8cdcf3c1e58d04b6811956d7608efeb66c42d719 Author: Peter Xu <pet...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/i386/intel_iommu.c M include/migration/vmstate.h Log Message: ----------- intel_iommu: allow migration IOMMU needs to be migrated before all the PCI devices (in case there are devices that will request for address translation). So marking it with a priority higher than the default (which PCI devices and other belong). Migration framework handled the rest. Signed-off-by: Peter Xu <pet...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: a08aaff811fb194950f79711d2afe5a892ae03a4 https://github.com/qemu/qemu/commit/a08aaff811fb194950f79711d2afe5a892ae03a4 Author: Gonglei <arei.gong...@huawei.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/virtio-crypto.c Log Message: ----------- virtio-crypto: fix possible integer and heap overflow Because the 'size_t' type is 4 bytes in 32-bit platform, which is the same with 'int'. It's easy to make 'max_len' to zero when integer overflow and then cause heap overflow if 'max_len' is zero. Using uint_64 instead of size_t to avoid the integer overflow. Cc: qemu-sta...@nongnu.org Reported-by: Li Qiang <liqiang...@360.cn> Signed-off-by: Gonglei <arei.gong...@huawei.com> Tested-by: Li Qiang <liqiang...@360.cn> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 8607f5c3072caeebbe0217df28651fffd3a79fd9 https://github.com/qemu/qemu/commit/8607f5c3072caeebbe0217df28651fffd3a79fd9 Author: Jason Wang <jasow...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/block/virtio-blk.c M hw/char/virtio-serial-bus.c M hw/scsi/virtio-scsi.c M hw/virtio/virtio-bus.c M hw/virtio/virtio-pci.c M hw/virtio/virtio.c M include/hw/virtio/virtio-access.h M include/hw/virtio/virtio-bus.h M include/hw/virtio/virtio.h Log Message: ----------- virtio: convert to use DMA api Currently, all virtio devices bypass IOMMU completely. This is because address_space_memory is assumed and used during DMA emulation. This patch converts the virtio core API to use DMA API. This idea is - introducing a new transport specific helper to query the dma address space. (only pci version is implemented). - query and use this address space during virtio device guest memory accessing when iommu platform (VIRTIO_F_IOMMU_PLATFORM) was enabled for this device. Cc: Michael S. Tsirkin <m...@redhat.com> Cc: Stefan Hajnoczi <stefa...@redhat.com> Cc: Kevin Wolf <kw...@redhat.com> Cc: Amit Shah <amit.s...@redhat.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: qemu-bl...@nongnu.org Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: e0a3c8ccaa51c4b6b2bf093a0b5ef230a74d5a9e https://github.com/qemu/qemu/commit/e0a3c8ccaa51c4b6b2bf093a0b5ef230a74d5a9e Author: Jason Wang <jasow...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/i386/intel_iommu.c Log Message: ----------- intel_iommu: name vtd address space with devfn To avoid duplicated name and ease debugging. Cc: Michael S. Tsirkin <m...@redhat.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Richard Henderson <r...@twiddle.net> Cc: Eduardo Habkost <ehabk...@redhat.com> Acked-by: Peter Xu <pet...@redhat.com> Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 2d3fc5816eb629a14f8516bf3c964d7f266870c0 https://github.com/qemu/qemu/commit/2d3fc5816eb629a14f8516bf3c964d7f266870c0 Author: Jason Wang <jasow...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/i386/intel_iommu.c Log Message: ----------- intel_iommu: allocate new key when creating new address space We use the pointer to stack for key for new address space, this will break hash table searching, fixing by g_malloc() a new key instead. Cc: Michael S. Tsirkin <m...@redhat.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Richard Henderson <r...@twiddle.net> Cc: Eduardo Habkost <ehabk...@redhat.com> Acked-by: Peter Xu <pet...@redhat.com> Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 052c8fa9983f553fdfa0d61034774070dd639c2b https://github.com/qemu/qemu/commit/052c8fa9983f553fdfa0d61034774070dd639c2b Author: Jason Wang <jasow...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M exec.c M include/exec/memory.h Log Message: ----------- exec: introduce address_space_get_iotlb_entry() This patch introduces a helper to query the iotlb entry for a possible iova. This will be used by later device IOTLB API to enable the capability for a dataplane (e.g vhost) to query the IOTLB. Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Peter Crosthwaite <crosthwaite.pe...@gmail.com> Cc: Richard Henderson <r...@twiddle.net> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 554f5e16046236b264c66436870be1b4ef25c1dc https://github.com/qemu/qemu/commit/554f5e16046236b264c66436870be1b4ef25c1dc Author: Jason Wang <jasow...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/i386/intel_iommu.c M hw/i386/intel_iommu_internal.h M hw/i386/x86-iommu.c M include/hw/i386/x86-iommu.h Log Message: ----------- intel_iommu: support device iotlb descriptor This patch enables device IOTLB support for intel iommu. The major work is to implement QI device IOTLB descriptor processing and notify the device through iommu notifier. Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Richard Henderson <r...@twiddle.net> Cc: Eduardo Habkost <ehabk...@redhat.com> Cc: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Peter Xu <pet...@redhat.com> Commit: 615c4ed20598ab3eda5e071ba7ba2a5bf70be59f https://github.com/qemu/qemu/commit/615c4ed20598ab3eda5e071ba7ba2a5bf70be59f Author: Jason Wang <jasow...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/pci/pcie.c M hw/virtio/virtio-pci.c M hw/virtio/virtio-pci.h M include/hw/pci/pcie.h M include/standard-headers/linux/pci_regs.h Log Message: ----------- virtio-pci: address space translation service (ATS) support This patches enable the Address Translation Service support for virtio pci devices. This is needed for a guest visible Device IOTLB implementation and will be required by vhost device IOTLB API implementation for intel IOMMU. Cc: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: bd2baaccd521a9cfcc56e0a9a69c903fcee56aa4 https://github.com/qemu/qemu/commit/bd2baaccd521a9cfcc56e0a9a69c903fcee56aa4 Author: Jason Wang <jasow...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/i386/acpi-build.c M include/hw/acpi/acpi-defs.h Log Message: ----------- acpi: add ATSR for q35 This patch provides ATSR which was a requirement for software that wants to enable ATS on endpoint devices behind a Root Port. This is done simply by setting ALL_PORTS which indicates all PCI-Express Root Ports support ATS transactions. Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: efcd38c529fd9c461cfcd48265855ce6aab2ef0a https://github.com/qemu/qemu/commit/efcd38c529fd9c461cfcd48265855ce6aab2ef0a Author: Jason Wang <jasow...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M memory.c Log Message: ----------- memory: handle alias for iommu notifier Cc: Paolo Bonzini <pbonz...@redhat.com> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Peter Xu <pet...@redhat.com> Commit: 12d37882f0c0def5dee1c21be5d8fea9c21baada https://github.com/qemu/qemu/commit/12d37882f0c0def5dee1c21be5d8fea9c21baada Author: Jason Wang <jasow...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M include/exec/memory.h Log Message: ----------- memory: handle alias in memory_region_is_iommu() Cc: Paolo Bonzini <pbonz...@redhat.com> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Peter Xu <pet...@redhat.com> Commit: 2e41dfe152331c4f5a8e6ccdb80bfc0d07422e82 https://github.com/qemu/qemu/commit/2e41dfe152331c4f5a8e6ccdb80bfc0d07422e82 Author: Cao jin <caoj.f...@cn.fujitsu.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M docs/pcie.txt Log Message: ----------- doc/pcie: correct command line examples Nit picking: Multi-function PCI Express Root Ports should mean that 'addr' property is mandatory, and slot is optional because it defaults to 0, and 'chassis' is mandatory for 2nd & 3rd root port because it defaults to 0 too. Bonus: fix a typo(2->3) Signed-off-by: Cao jin <caoj.f...@cn.fujitsu.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: c159a4d1d0434fcf670f8684273bce0eca117a27 https://github.com/qemu/qemu/commit/c159a4d1d0434fcf670f8684273bce0eca117a27 Author: Gonglei <arei.gong...@huawei.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/virtio-crypto.c Log Message: ----------- virtio-crypto: use the correct length for cipher operation In some modes of cipher algorithms, the length of destination data maybe larger then source data, such as ciphertext stealing (CTS). For symmetric algorithms, the length of ciphertext is definitly equal to the plaintext for each crypto operation. So we should use the src_len instead of dst_len avoid to pass the incorrect cryptographical results to the frontend driver. Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 46fd17054548b15b3b8a5991492f5f0dc37957d4 https://github.com/qemu/qemu/commit/46fd17054548b15b3b8a5991492f5f0dc37957d4 Author: Gonglei <arei.gong...@huawei.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M backends/cryptodev.c M hw/virtio/virtio-crypto.c M include/sysemu/cryptodev.h Log Message: ----------- cryptodev: introduce a new is_used property This property is used to Tag the cryptodev backend is used by virtio-crypto or not. Making cryptodev can't be hot unplugged when it's in use. Cleanup resources when cryptodev is finalized. Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 6138dbda5a4bfa6c724fd04b9225181d3a3c85a7 https://github.com/qemu/qemu/commit/6138dbda5a4bfa6c724fd04b9225181d3a3c85a7 Author: Gonglei <arei.gong...@huawei.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M backends/cryptodev-builtin.c M backends/cryptodev.c M hw/virtio/virtio-crypto.c M include/sysemu/cryptodev.h Log Message: ----------- cryptodev: wrap the ready flag The ready flag should be set by the children of cryptodev backend interface. Warp the setter/getter functions for it. Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 305f5131ac30b4a03e698bae0976f4cd24bb0a86 https://github.com/qemu/qemu/commit/305f5131ac30b4a03e698bae0976f4cd24bb0a86 Author: Gonglei <arei.gong...@huawei.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/virtio-crypto-pci.c Log Message: ----------- virtio-crypto-pci: add check for cryptodev object We must assure each virtio crypto pci device has an vaild cryptodev backend object. Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: b89f8c80ccdaf6915271df6bb16ef6b292f47f9f https://github.com/qemu/qemu/commit/b89f8c80ccdaf6915271df6bb16ef6b292f47f9f Author: Gonglei <arei.gong...@huawei.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/virtio-crypto.c Log Message: ----------- virtio-crypto: avoid one cryptodev device is used by multiple virtio crypto devices Add the check condition for cryptodev device in order to avoid one cryptodev device is used by multiple virtio crypto devices. Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: ef69d971cd63cd427e602098837bd09bcddd9410 https://github.com/qemu/qemu/commit/ef69d971cd63cd427e602098837bd09bcddd9410 Author: Gonglei <arei.gong...@huawei.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/virtio-crypto-pci.c Log Message: ----------- virtio-crypto-pci: tag virtio-crypto device hot pluggable After resolving the relationship with cryptodev backend, the virtio crypto device supports hotplug now. Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 02ed3e7c1665205ddae052774d6f26c71d3d9b30 https://github.com/qemu/qemu/commit/02ed3e7c1665205ddae052774d6f26c71d3d9b30 Author: Gonglei <arei.gong...@huawei.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/virtio-crypto.c Log Message: ----------- virtio-crypto: zeroize the key material before free Common practice with sensitive information (key material, passwords, etc). Prevents sensitive information from being exposed by accident later in coredumps, memory disclosure bugs when heap memory is reused, etc. Sensitive information is sometimes also held in mlocked pages to prevent it being swapped to disk but that's not being done here. Let's zeroize the memory of CryptoDevBackendSymOpInfo structure pointed for key material security. [Thanks to Stefan for help with crafting the commit message] Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 33848ceed79679b5c9e558b768447af2614b8db2 https://github.com/qemu/qemu/commit/33848ceed79679b5c9e558b768447af2614b8db2 Author: Cao jin <caoj.f...@cn.fujitsu.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/net/e1000e.c M hw/pci-bridge/ioh3420.c M hw/pci-bridge/xio3130_downstream.c M hw/pci-bridge/xio3130_upstream.c M hw/pci/pcie_aer.c M include/hw/pci/pcie_aer.h Log Message: ----------- pcie_aer: Convert pcie_aer_init to Error When user specify invalid value for property aer_log_max, device should fail to create, and report appropriate message. Signed-off-by: Cao jin <caoj.f...@cn.fujitsu.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Acked-by: Dmitry Fleytman <dmi...@daynix.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: f18c697b55d1374af67b84c581abaece8ab2aca3 https://github.com/qemu/qemu/commit/f18c697b55d1374af67b84c581abaece8ab2aca3 Author: Dou Liyang <douly.f...@cn.fujitsu.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/net/e1000e.c M hw/pci-bridge/ioh3420.c M hw/pci-bridge/xio3130_downstream.c M hw/pci-bridge/xio3130_upstream.c M hw/pci/pcie_aer.c M include/hw/pci/pcie_aer.h Log Message: ----------- pcie_aer: support configurable AER capa version Now, AER capa version is fixed to v2, if assigned device isn't v2, then this value will be inconsistent between guest and host Signed-off-by: Dou Liyang <douly.f...@cn.fujitsu.com> Signed-off-by: Cao jin <caoj.f...@cn.fujitsu.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: e66bcc408146730958d1a840bda85d7ad51e0cd7 https://github.com/qemu/qemu/commit/e66bcc408146730958d1a840bda85d7ad51e0cd7 Author: Halil Pasic <pa...@linux.vnet.ibm.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/virtio.c Log Message: ----------- virtio: fix vq->inuse recalc after migr Correct recalculation of vq->inuse after migration for the corner case where the avail_idx has already wrapped but used_idx not yet. Also change the type of the VirtQueue.inuse to unsigned int. This is done to be consistent with other members representing sizes (VRing.num), and because C99 guarantees max ring size < UINT_MAX but does not guarantee max ring size < INT_MAX. Signed-off-by: Halil Pasic <pa...@linux.vnet.ibm.com> Fixes: bccdef6b ("virtio: recalculate vq->inuse after migration") CC: qemu-sta...@nongnu.org Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: f2fd57db363e465653efa55102104039b5516759 https://github.com/qemu/qemu/commit/f2fd57db363e465653efa55102104039b5516759 Author: Dr. David Alan Gilbert <dgilb...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/trace-events M hw/virtio/virtio-balloon.c Log Message: ----------- balloon: Don't balloon roms A broken guest can specify physical addresses that correspond to any memory region, but it shouldn't be able to change ROM. Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Cc: qemu-sta...@nongnu.org Acked-by: Paolo Bonzini <pbonz...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 312d3b35349a153e5a069e53170fd929e6b73a2b https://github.com/qemu/qemu/commit/312d3b35349a153e5a069e53170fd929e6b73a2b Author: Yuri Benditovich <yuri.benditov...@daynix.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/virtio.c M include/hw/virtio/virtio.h Log Message: ----------- net: Add virtio queue interface to update used index from vring state Bring virtio queue to correct internal state for host-to-guest operations when vhost is temporary stopped. Signed-off-by: Yuri Benditovich <yuri.benditov...@daynix.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: aa94d52142f674c7abe638f9cfb19bd89a99f154 https://github.com/qemu/qemu/commit/aa94d52142f674c7abe638f9cfb19bd89a99f154 Author: Yuri Benditovich <yuri.benditov...@daynix.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/vhost.c Log Message: ----------- net: vhost stop updates virtio queue state Make virtio queue suitable for push operation from qemu after vhost was stopped. Signed-off-by: Yuri Benditovich <yuri.benditov...@daynix.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 54e17709ac2d2ea8275101655fe746bba7ae0064 https://github.com/qemu/qemu/commit/54e17709ac2d2ea8275101655fe746bba7ae0064 Author: Yuri Benditovich <yuri.benditov...@daynix.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/virtio/virtio.c M include/hw/virtio/virtio.h Log Message: ----------- virtio: Introduce virtqueue_drop_all procedure Add procedure for fast drop of queued packets, acting like pop and push without mapping the buffers into memory. Signed-off-by: Yuri Benditovich <yuri.benditov...@daynix.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 283e2c2adcb80148c7f67d71d52134af80d2fbae https://github.com/qemu/qemu/commit/283e2c2adcb80148c7f67d71d52134af80d2fbae Author: Yuri Benditovich <yuri.benditov...@daynix.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/net/virtio-net.c Log Message: ----------- net: virtio-net discards TX data after link down https://bugzilla.redhat.com/show_bug.cgi?id=1295637 Upon set_link monitor command or upon netdev deletion virtio-net sends link down indication to the guest and stops vhost if one is used. Guest driver can still submit data for TX until it recognizes link loss. If these packets not returned by the host, the Windows guest will never be able to finish disable/removal/shutdown. Now each packet sent by guest after NIC indicated link down will be completed immediately. Signed-off-by: Yuri Benditovich <yuri.benditov...@daynix.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: c5f048d8fb69ae9b52a02ff4435b403b2ba19db7 https://github.com/qemu/qemu/commit/c5f048d8fb69ae9b52a02ff4435b403b2ba19db7 Author: Maxime Coquelin <maxime.coque...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M docs/specs/vhost-user.txt M hw/virtio/vhost-user.c M include/hw/virtio/vhost-backend.h Log Message: ----------- vhost-user: Add MTU protocol feature and op This patch implements VHOST_USER_PROTOCOL_F_NET_MTU protocol feature and VHOST_USER_NET_SET_MTU request so that the backend gets notified of the user defined host MTU. If backend supports VHOST_USER_PROTOCOL_F_REPLY_ACK, QEMU assumes MTU is valid if success is returned. Vhost-net driver sends this request through a new vhost_net_set_mtu vhost_ops entry. Cc: Michael S. Tsirkin <m...@redhat.com> Cc: Aaron Conole <acon...@redhat.com> Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 45a368ad4f6135f32be5c051823a060eada0ac12 https://github.com/qemu/qemu/commit/45a368ad4f6135f32be5c051823a060eada0ac12 Author: Maxime Coquelin <maxime.coque...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/net/vhost_net.c M include/net/vhost_net.h Log Message: ----------- vhost-net: Notify the backend about the host MTU This patch provides a way for virtio-net to notify the backend about the host MTU set by the user. Cc: Michael S. Tsirkin <m...@redhat.com> Cc: Aaron Conole <acon...@redhat.com> Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: a93e599d4a04c3cf7edcf5a24f3397e27431c027 https://github.com/qemu/qemu/commit/a93e599d4a04c3cf7edcf5a24f3397e27431c027 Author: Maxime Coquelin <maxime.coque...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/net/virtio-net.c M include/hw/virtio/virtio-net.h Log Message: ----------- virtio-net: Add MTU feature support This patch allows advising guest with host MTU's by setting host_mtu parameter. If VIRTIO_NET_F_MTU has been successfully negotiated, MTU value is passed to the backend. Cc: Michael S. Tsirkin <m...@redhat.com> Cc: Aaron Conole <acon...@redhat.com Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 4462fc604a5f7d07bcbea14ba87673476b1e9125 https://github.com/qemu/qemu/commit/4462fc604a5f7d07bcbea14ba87673476b1e9125 Author: Igor Mammedov <imamm...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: A tests/acpi-test-data/pc/DSDT.memhp A tests/acpi-test-data/pc/SRAT.memhp A tests/acpi-test-data/q35/DSDT.memhp A tests/acpi-test-data/q35/SRAT.memhp M tests/bios-tables-test.c Log Message: ----------- tests: pc: add memory hotplug acpi tables tests This also adds SRAT and DSDT blobs for memory hotplug variant Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Commit: a2088da36e940ed591023799fbc0ac3d2bb25782 https://github.com/qemu/qemu/commit/a2088da36e940ed591023799fbc0ac3d2bb25782 Author: Igor Mammedov <imamm...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/acpi/Makefile.objs M hw/acpi/memory_hotplug.c R hw/acpi/memory_hotplug_acpi_table.c Log Message: ----------- memhp: move build_memory_hotplug_aml() into memory_hotplug.c Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Commit: 75ff0f0c901eecb5148e2d332a3b8dbbf4ab5821 https://github.com/qemu/qemu/commit/75ff0f0c901eecb5148e2d332a3b8dbbf4ab5821 Author: Igor Mammedov <imamm...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/acpi/memory_hotplug.c M hw/i386/acpi-build.c M include/hw/acpi/memory_hotplug.h Log Message: ----------- memhp: move build_memory_devices() into memory_hotplug.c Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Commit: 8dfba500af730e89d3d5a2cbf9440002cce59b9b https://github.com/qemu/qemu/commit/8dfba500af730e89d3d5a2cbf9440002cce59b9b Author: Igor Mammedov <imamm...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/acpi/memory_hotplug.c M include/hw/acpi/memory_hotplug.h Log Message: ----------- memhp: consolidate scattered MHPD device declaration since static and dynamic parts of memory MHPD device are now in the same table (DSDT), there is no point keeping them scattered across the table, so consolidate it in one place. There aren't any functional change, only AML text movement from externally refferenced MHPD scope directly into MHPD device declaration. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Commit: 8b35ab271c069c212ff2a107a6bc5478eba097f1 https://github.com/qemu/qemu/commit/8b35ab271c069c212ff2a107a6bc5478eba097f1 Author: Igor Mammedov <imamm...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/acpi/memory_hotplug.c M hw/i386/acpi-build.c M include/hw/acpi/memory_hotplug.h Log Message: ----------- memhp: merge build_memory_devices() into build_memory_hotplug_aml() It consolidates memory hotplug AML in one place within DSDT Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: d1957dac344f08f79a64b90ed2cb4406581362fb https://github.com/qemu/qemu/commit/d1957dac344f08f79a64b90ed2cb4406581362fb Author: Igor Mammedov <imamm...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/acpi/memory_hotplug.c M hw/i386/acpi-build.c M include/hw/acpi/memory_hotplug.h Log Message: ----------- memhp: move GPE handler_E03 into build_memory_hotplug_aml() >From this patch all the memory hotplug related AML bits are consolidated in one place within DSTD. Follow up patches will utilize that to simplify memory hotplug related C/AML code. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Commit: c9c085458060db9a63fa05c51e33c75e8390b2dc https://github.com/qemu/qemu/commit/c9c085458060db9a63fa05c51e33c75e8390b2dc Author: Igor Mammedov <imamm...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/acpi/memory_hotplug.c M include/hw/acpi/memory_hotplug.h M include/hw/acpi/pc-hotplug.h Log Message: ----------- memhp: move memory hotplug only defines to memory_hotplug.c Move defines used locally only by memory_hotplug.c into it from header files. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Commit: 80db0e7822962554c91bef05d784c898e8ab1c3c https://github.com/qemu/qemu/commit/80db0e7822962554c91bef05d784c898e8ab1c3c Author: Igor Mammedov <imamm...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/acpi/ich9.c M hw/acpi/memory_hotplug.c M hw/acpi/piix4.c M hw/i386/acpi-build.c M include/hw/acpi/memory_hotplug.h M include/hw/acpi/pc-hotplug.h Log Message: ----------- memhp: don't generate memory hotplug AML if it's not enabled/supported That reduces DSDT by 910 bytes when memory hotplug isn't enabled. While doing so drop intermediate variables/arguments passing around ACPI_MEMORY_HOTPLUG_IO_LEN and making it local to memory_hotplug.c, hardcoding it there as it can't change. Also don't pass around ACPI_MEMORY_HOTPLUG_BASE through intermediate variables/arguments where it's not needed. Instead initialize in module static variable when MMIO region is mapped and use that within memory_hotplug.c whenever it's required. That way MMIO base specified only at one place and AML with MMIO would always use the same value. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Commit: e1a58fc05aba0ffe014a8dc0bddc0c9dc5a0631a https://github.com/qemu/qemu/commit/e1a58fc05aba0ffe014a8dc0bddc0c9dc5a0631a Author: Igor Mammedov <imamm...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M hw/acpi/memory_hotplug.c Log Message: ----------- memhp: move DIMM devices into dedicated scope with related common methods Move DIMM devices from global _SB scope to a new \_SB.MHPC container along with common methods used by DIMMs: MCRS, MRST, MPXM, MOST, MEJ00, MSCN, MTFY this reduces AML size on 12 * #slots bytes, i.e. up to 3072 bytes for 265 slots. Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Reviewed-by: Marcel Apfelbaum <mar...@redhat.com> Commit: 987da7be996e63c294dc6485acb1c37af7696257 https://github.com/qemu/qemu/commit/987da7be996e63c294dc6485acb1c37af7696257 Author: Michael S. Tsirkin <m...@redhat.com> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M tests/acpi-test-data/pc/DSDT M tests/acpi-test-data/pc/DSDT.bridge M tests/acpi-test-data/pc/DSDT.cphp M tests/acpi-test-data/pc/DSDT.ipmikcs M tests/acpi-test-data/pc/DSDT.memhp M tests/acpi-test-data/q35/DSDT M tests/acpi-test-data/q35/DSDT.bridge M tests/acpi-test-data/q35/DSDT.cphp M tests/acpi-test-data/q35/DSDT.ipmibt M tests/acpi-test-data/q35/DSDT.memhp Log Message: ----------- acpi-test: update expected files clean up warnings after latest hotplug changes. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 41a0e54756a9ae6b60be34bb33302a7e085fdb07 https://github.com/qemu/qemu/commit/41a0e54756a9ae6b60be34bb33302a7e085fdb07 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M backends/cryptodev-builtin.c M backends/cryptodev.c M docs/pcie.txt M docs/specs/vhost-user.txt M exec.c M hw/acpi/Makefile.objs M hw/acpi/ich9.c M hw/acpi/memory_hotplug.c R hw/acpi/memory_hotplug_acpi_table.c M hw/acpi/piix4.c M hw/block/virtio-blk.c M hw/char/virtio-serial-bus.c M hw/i386/acpi-build.c M hw/i386/intel_iommu.c M hw/i386/intel_iommu_internal.h M hw/i386/x86-iommu.c M hw/net/e1000e.c M hw/net/vhost_net.c M hw/net/virtio-net.c M hw/pci-bridge/ioh3420.c M hw/pci-bridge/xio3130_downstream.c M hw/pci-bridge/xio3130_upstream.c M hw/pci/pcie.c M hw/pci/pcie_aer.c M hw/scsi/virtio-scsi.c M hw/virtio/trace-events M hw/virtio/vhost-user.c M hw/virtio/vhost.c M hw/virtio/virtio-balloon.c M hw/virtio/virtio-bus.c M hw/virtio/virtio-crypto-pci.c M hw/virtio/virtio-crypto.c M hw/virtio/virtio-pci.c M hw/virtio/virtio-pci.h M hw/virtio/virtio.c M include/exec/memory.h M include/hw/acpi/acpi-defs.h M include/hw/acpi/memory_hotplug.h M include/hw/acpi/pc-hotplug.h M include/hw/i386/x86-iommu.h M include/hw/pci/pcie.h M include/hw/pci/pcie_aer.h M include/hw/virtio/vhost-backend.h M include/hw/virtio/virtio-access.h M include/hw/virtio/virtio-bus.h M include/hw/virtio/virtio-net.h M include/hw/virtio/virtio.h M include/migration/vmstate.h M include/net/vhost_net.h M include/standard-headers/linux/pci_regs.h M include/sysemu/cryptodev.h M memory.c M migration/savevm.c M tests/acpi-test-data/pc/DSDT M tests/acpi-test-data/pc/DSDT.bridge M tests/acpi-test-data/pc/DSDT.cphp M tests/acpi-test-data/pc/DSDT.ipmikcs A tests/acpi-test-data/pc/DSDT.memhp A tests/acpi-test-data/pc/SRAT.memhp M tests/acpi-test-data/q35/DSDT M tests/acpi-test-data/q35/DSDT.bridge M tests/acpi-test-data/q35/DSDT.cphp M tests/acpi-test-data/q35/DSDT.ipmibt A tests/acpi-test-data/q35/DSDT.memhp A tests/acpi-test-data/q35/SRAT.memhp M tests/bios-tables-test.c Log Message: ----------- Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging virtio, vhost, pc: fixes, features beginnings of iotlb support for vhost acpi hotplug rework vhost net tx flush on link down passing mtu to guests hotplug for virtio crypto fixes and cleanups all over the place Signed-off-by: Michael S. Tsirkin <m...@redhat.com> # gpg: Signature made Tue 10 Jan 2017 05:37:48 GMT # gpg: using RSA key 0x281F0DB8D28D5469 # gpg: Good signature from "Michael S. Tsirkin <m...@kernel.org>" # gpg: aka "Michael S. Tsirkin <m...@redhat.com>" # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67 # Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469 * remotes/mst/tags/for_upstream: (41 commits) acpi-test: update expected files memhp: move DIMM devices into dedicated scope with related common methods memhp: don't generate memory hotplug AML if it's not enabled/supported memhp: move memory hotplug only defines to memory_hotplug.c memhp: move GPE handler_E03 into build_memory_hotplug_aml() memhp: merge build_memory_devices() into build_memory_hotplug_aml() memhp: consolidate scattered MHPD device declaration memhp: move build_memory_devices() into memory_hotplug.c memhp: move build_memory_hotplug_aml() into memory_hotplug.c tests: pc: add memory hotplug acpi tables tests virtio-net: Add MTU feature support vhost-net: Notify the backend about the host MTU vhost-user: Add MTU protocol feature and op net: virtio-net discards TX data after link down virtio: Introduce virtqueue_drop_all procedure net: vhost stop updates virtio queue state net: Add virtio queue interface to update used index from vring state balloon: Don't balloon roms virtio: fix vq->inuse recalc after migr pcie_aer: support configurable AER capa version ... Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Compare: https://github.com/qemu/qemu/compare/f634151b02ce...41a0e54756a9