Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: d6e65d54f0fa980f891aa3166d85b6ffd7d541eb https://github.com/qemu/qemu/commit/d6e65d54f0fa980f891aa3166d85b6ffd7d541eb Author: Alex Williamson <alex.william...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012)
Changed paths: M hw/pci.c M hw/pci.h Log Message: ----------- pci: Helper function for testing if an INTx route changed Signed-off-by: Alex Williamson <alex.william...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 4774d7b258e0c4a6595a7b0bc6960c1751365bbf https://github.com/qemu/qemu/commit/4774d7b258e0c4a6595a7b0bc6960c1751365bbf Author: Alex Williamson <alex.william...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/kvm/pci-assign.c Log Message: ----------- pci-assign: Use pci_intx_route_changed() Replace open coded version Signed-off-by: Alex Williamson <alex.william...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 39b9bc626a436837f0068cb600aaf91c0e8aa937 https://github.com/qemu/qemu/commit/39b9bc626a436837f0068cb600aaf91c0e8aa937 Author: Alex Williamson <alex.william...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/msi.c M hw/msi.h Log Message: ----------- msi: Add msi_get_message() vfio-pci and pci-assign both do this on their own for setting up direct MSI injection through KVM. Provide a helper function for this in MSI code. Signed-off-by: Alex Williamson <alex.william...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 2b199f9318ec698dfced65f5d4ad9729f166e37c https://github.com/qemu/qemu/commit/2b199f9318ec698dfced65f5d4ad9729f166e37c Author: Alex Williamson <alex.william...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/kvm/pci-assign.c Log Message: ----------- pci-assign: Use msi_get_message() pci-assign only uses a subset of the flexibility msi_get_message() provides, but it's still worthwhile to use it. Signed-off-by: Alex Williamson <alex.william...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 05c0621e64b425d9f89bef542f0b85e61dc57ff8 https://github.com/qemu/qemu/commit/05c0621e64b425d9f89bef542f0b85e61dc57ff8 Author: Alex Williamson <alex.william...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pci.c Log Message: ----------- pci: Return PCI_INTX_DISABLED when no bus INTx routing support Rather than assert, simply return PCI_INTX_DISABLED when we don't have a pci_route_irq_fn. PIIX already returns DISABLED for an invalid pin, so users already deal with this state. Users of this interface should only be acting on an ENABLED or INVERTED return value (though we really have no support for INVERTED). Also complain loudly when we hit this so we don't forget it's missing. Signed-off-by: Alex Williamson <alex.william...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Acked-by: Jan Kiszka <jan.kis...@siemens.com> Commit: dc59944bc9a5ad784572eea57610de60e4a2f4e5 https://github.com/qemu/qemu/commit/dc59944bc9a5ad784572eea57610de60e4a2f4e5 Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pc_piix.c M target-i386/cpu.c M target-i386/cpu.h Log Message: ----------- qemu: enable PV EOI for qemu 1.3 Enable KVM PV EOI by default. You can still disable it with -kvm_pv_eoi cpu flag. To avoid breaking cross-version migration, enable only for qemu 1.3 (or in the future, newer) machine type. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: e26631b74663f59b5873a84ed5b92ee4ddf48255 https://github.com/qemu/qemu/commit/e26631b74663f59b5873a84ed5b92ee4ddf48255 Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pci.c Log Message: ----------- pci: make each capability DWORD aligned PCI spec (see e.g. 6.7 Capabilities List in spec rev 3.0) requires that each capability is DWORD aligned. Ensure this when allocating space by rounding size up to 4. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: b56d701f1d1f1828c9fabea535b3460857546dd0 https://github.com/qemu/qemu/commit/b56d701f1d1f1828c9fabea535b3460857546dd0 Author: Isaku Yamahata <yamah...@valinux.co.jp> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pci.c Log Message: ----------- pci: pci capability must be in PCI space pci capability must be in PCI space. It can't lay in PCIe extended config space. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp> Signed-off-by: Jason Baron <jba...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 9e38f56183c52e06fc29c64691f59a46d246eec5 https://github.com/qemu/qemu/commit/9e38f56183c52e06fc29c64691f59a46d246eec5 Author: Isaku Yamahata <yamah...@valinux.co.jp> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pci_ids.h Log Message: ----------- pci_ids: add intel 82801BA pci-to-pci bridge id Adds pci id constants which will be used by q35. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp> Signed-off-by: Jason Baron <jba...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 91e5615984c1fd5674caad343e750bb5ecd17995 https://github.com/qemu/qemu/commit/91e5615984c1fd5674caad343e750bb5ecd17995 Author: Isaku Yamahata <yamah...@valinux.co.jp> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pci.c M hw/pci.h Log Message: ----------- pci: introduce pci_swizzle_map_irq_fn() for standardized interrupt pin swizzle Introduce pci_swizzle_map_irq_fn() for interrupt pin swizzle which is standardized. PCI bridge swizzle is common logic, by introducing this function duplicated swizzle logic will be avoided later. [jba...@redhat.com: drop opaque argument] Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp> Signed-off-by: Jason Baron <jba...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: f7748569902f4854ac1223c143edbde4f588040f https://github.com/qemu/qemu/commit/f7748569902f4854ac1223c143edbde4f588040f Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pci.c M hw/pci_ids.h Log Message: ----------- pci: Add class 0xc05 as 'SMBus' [jba...@redhat.com: add PCI_CLASS_SERIAL_SMBUS definition] Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Jason Baron <jba...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: c702ddb8daece08b16fce9d6654b38304d385f93 https://github.com/qemu/qemu/commit/c702ddb8daece08b16fce9d6654b38304d385f93 Author: Jason Baron <jba...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pcie_host.c M hw/pcie_host.h Log Message: ----------- pcie: pass pcie window size to pcie_host_mmcfg_update() This allows q35 to pass/set the size of the pcie window in its update routine. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Jason Baron <jba...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: bc927e488c040c8ef2faed323e8a1a3d0ebbfb62 https://github.com/qemu/qemu/commit/bc927e488c040c8ef2faed323e8a1a3d0ebbfb62 Author: Jason Baron <jba...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pcie_host.c M hw/pcie_host.h Log Message: ----------- pcie: Convert PCIExpressHost to use the QOM. Let's use PCIExpressHost with QOM. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Acked-by: Andreas Färber <afaer...@suse.de> Signed-off-by: Jason Baron <jba...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: e35e23f655fb120a2b4d0695bdee86fafd9caabf https://github.com/qemu/qemu/commit/e35e23f655fb120a2b4d0695bdee86fafd9caabf Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/virtio-net.c Log Message: ----------- virtio-net: track host/guest header length Tracking these in device state instead of re-calculating on each packet. No functional changes. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: d336336c8164859e4527cbb9f3df189f8bb406de https://github.com/qemu/qemu/commit/d336336c8164859e4527cbb9f3df189f8bb406de Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M iov.c M iov.h Log Message: ----------- iov: add iov_cpy Add API to copy part of iovec safely. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 22cc84db6e42bef8646b8cd671f4c999e9c0a38f https://github.com/qemu/qemu/commit/22cc84db6e42bef8646b8cd671f4c999e9c0a38f Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/virtio-net.c Log Message: ----------- virtio-net: avoid sg copy Avoid tweaking iovec during receive. This removes the need to copy the vector. Note: we currently have an evil cast in work_around_broken_dhclient and unfortunately this patch does not fix it - just pushes the evil cast to another place. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 63c5872873de8d7d994a589eed7bfe6a70cc8e06 https://github.com/qemu/qemu/commit/63c5872873de8d7d994a589eed7bfe6a70cc8e06 Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/virtio-net.c Log Message: ----------- virtio-net: use safe iov operations for rx Avoid magling iov manually: use safe iov operations for processing packets incoming to guest. This also removes the requirement for virtio header to fit the first s/g entry exactly. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 280598b7a5fdf96fb79d87a2129750bad5dbf24b https://github.com/qemu/qemu/commit/280598b7a5fdf96fb79d87a2129750bad5dbf24b Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/virtio-net.c Log Message: ----------- virtio-net: refactor receive_hdr Now that we know host hdr length, we don't need to duplicate the logic in receive_hdr: caller can figure out the offset itself. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: c8d28e7e336869524d166d88f08ad476eadedccb https://github.com/qemu/qemu/commit/c8d28e7e336869524d166d88f08ad476eadedccb Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/virtio-net.c Log Message: ----------- virtio-net: first s/g is always at start of buf We know offset is 0, assert that. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 14761f9cf7fbc6d058c1e51c313a139066eab256 https://github.com/qemu/qemu/commit/14761f9cf7fbc6d058c1e51c313a139066eab256 Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/virtio-net.c Log Message: ----------- virtio-net: switch tx to safe iov functions Avoid mangling iovec manually: use safe iov_* functions. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 7b80d08efc36fd6c7881e98302f00148b5fd908a https://github.com/qemu/qemu/commit/7b80d08efc36fd6c7881e98302f00148b5fd908a Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/virtio-net.c Log Message: ----------- virtio-net: simplify rx code Remove code duplication using guest header length that we track. Drop specific layout requirement for rx buffers: things work using generic iovec functions in any case. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: e043ebc6f9a093c1fd1b677191ad9fbeefe22d1e https://github.com/qemu/qemu/commit/e043ebc6f9a093c1fd1b677191ad9fbeefe22d1e Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/virtio-net.c Log Message: ----------- virtio-net: minor code simplification During packet filtering, we can now use host hdr len to offset incoming buffer unconditionally. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 6e371ab867d48c16e6a9ee32cefcea48692a4deb https://github.com/qemu/qemu/commit/6e371ab867d48c16e6a9ee32cefcea48692a4deb Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/virtio-net.c Log Message: ----------- virtio-net: test peer header support at init time There's no reason to query header support at random times: at load or feature query. Driver also might not query functions. Cleaner to do it at device init. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: ff3a8066e651230d255e6eea340e2d48e7da4aeb https://github.com/qemu/qemu/commit/ff3a8066e651230d255e6eea340e2d48e7da4aeb Author: Michael S. Tsirkin <m...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/vhost_net.c M hw/virtio-net.c Log Message: ----------- virtio-net: enable mrg buf header in tap on linux Modern linux supports arbitrary header size, which makes it possible to pass mrg buf header to tap directly without iovec mangling. Use this capability when it is there. This removes the need to deal with it in vhost-net as we do now. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 523a59f596a3e62f5a28eb171adba35e71310040 https://github.com/qemu/qemu/commit/523a59f596a3e62f5a28eb171adba35e71310040 Author: Avi Kivity <a...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/pci_bridge.c M hw/pci_internals.h Log Message: ----------- pci: avoid destroying bridge address space windows in a transaction Calling memory_region_destroy() in a transaction is illegal (and aborts), as until the transaction is committed, the region remains live. Fix by moving destruction until after the transaction commits. This requires having an extra set of regions, so the new and old regions can coexist. Signed-off-by: Avi Kivity <a...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 233926fafa6c4a0fb666e1469524d66dd3b47ddd https://github.com/qemu/qemu/commit/233926fafa6c4a0fb666e1469524d66dd3b47ddd Author: Anthony Liguori <aligu...@us.ibm.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M hw/kvm/pci-assign.c M hw/msi.c M hw/msi.h M hw/pc_piix.c M hw/pci.c M hw/pci.h M hw/pci_ids.h M hw/pcie_host.c M hw/pcie_host.h M hw/vhost_net.c M hw/virtio-net.c M iov.c M iov.h M target-i386/cpu.c M target-i386/cpu.h Log Message: ----------- Merge remote-tracking branch 'mst/tags/for_anthony' into staging virtio,pci infrastructure This includes infrastructure patches that don't do much by themselves but should help vfio and q35 make progress. Also included is rework of virtio-net to use iovec APIs for vector access - helpful to make it more secure and in preparation for a new feature that will allow arbitrary s/g layout for guests. Also included is a pci bridge bugfix by Avi. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> * mst/tags/for_anthony: (25 commits) pci: avoid destroying bridge address space windows in a transaction virtio-net: enable mrg buf header in tap on linux virtio-net: test peer header support at init time virtio-net: minor code simplification virtio-net: simplify rx code virtio-net: switch tx to safe iov functions virtio-net: first s/g is always at start of buf virtio-net: refactor receive_hdr virtio-net: use safe iov operations for rx virtio-net: avoid sg copy iov: add iov_cpy virtio-net: track host/guest header length pcie: Convert PCIExpressHost to use the QOM. pcie: pass pcie window size to pcie_host_mmcfg_update() pci: Add class 0xc05 as 'SMBus' pci: introduce pci_swizzle_map_irq_fn() for standardized interrupt pin swizzle pci_ids: add intel 82801BA pci-to-pci bridge id pci: pci capability must be in PCI space pci: make each capability DWORD aligned qemu: enable PV EOI for qemu 1.3 ... Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> Commit: d26a8caea3f160782841efb87b5e8bea606b512b https://github.com/qemu/qemu/commit/d26a8caea3f160782841efb87b5e8bea606b512b Author: Avi Kivity <a...@redhat.com> Date: 2012-10-29 (Mon, 29 Oct 2012) Changed paths: M memory.c Log Message: ----------- memory: fix rendering of a region obscured by another The memory core drops regions that are hidden by another region (for example, during BAR sizing), but it doesn't do so correctly if the lower address of the existing range is below the lower address of the new range. Example (qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -append "console=ttyS0" -nographic -vga cirrus): Existing range: 10000000-107fffff New range: 100a0000-100bffff Correct behaviour: drop new range Incorrect behaviour: add new range Fix by taking this case into account (previously we only considered equal lower boundaries). Tested-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Avi Kivity <a...@redhat.com> Signed-off-by: Anthony Liguori <aligu...@us.ibm.com> Compare: https://github.com/qemu/qemu/compare/b308c82cbda4...d26a8caea3f1