1. 11 11月, 2015 9 次提交
    • P
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-next-20151111' into staging · 3c07587d
      Peter Maydell 提交于
      ppc patch queue - 2015-11-11
      
      Highlights:
        - Updated SLOF version for "pseries machine
        - Bugfix / cleanup for KVM hash page table allocation
      
      # gpg: Signature made Wed 11 Nov 2015 02:30:51 GMT using RSA key ID 20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-next-20151111:
        spapr: Handle failure of KVM_PPC_ALLOCATE_HTAB ioctl
        ppc: Let kvmppc_reset_htab() return 0 for !CONFIG_KVM
        pseries: Update SLOF firmware image to qemu-slof-20151103
        ppc: Add/Re-introduce MMU model definitions needed by PR KVM
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      3c07587d
    • B
      spapr: Handle failure of KVM_PPC_ALLOCATE_HTAB ioctl · b41d320f
      Bharata B Rao 提交于
      KVM_PPC_ALLOCATE_HTAB ioctl can return -ENOMEM for KVM guests and QEMU
      never handled this correctly. But this didn't cause any problems till
      now as KVM_PPC_ALLOCATE_HTAB ioctl returned with smaller than requested
      HTAB when enough contiguous memory wasn't available in the host.
      After the proposed kernel change: https://patchwork.ozlabs.org/patch/530501/,
      KVM_PPC_ALLOCATE_HTAB ioctl will not fallback to lower sized HTAB
      allocation and will fail if requested HTAB size can't be met.
      
      Check for such failures in QEMU and abort appropriately. This will
      prevent guest kernel from hanging/freezing during early boot by doing
      graceful exit when host is unable to allocate requested HTAB.
      Signed-off-by: NBharata B Rao <bharata@linux.vnet.ibm.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      b41d320f
    • B
      ppc: Let kvmppc_reset_htab() return 0 for !CONFIG_KVM · a3166f8f
      Bharata B Rao 提交于
      The !CONFIG_KVM implementation of kvmppc_reset_htab() returns -1
      by default. Change this to return 0 so that we fall back to user space
      HTAB allocation for emulated guests.
      
      This fixes the make check failures for ppc64 emulated target.
      Signed-off-by: NBharata B Rao <bharata@linux.vnet.ibm.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      a3166f8f
    • A
      pseries: Update SLOF firmware image to qemu-slof-20151103 · 12104819
      Alexey Kardashevskiy 提交于
      The changes are:
      1. supports recent binutils;
      2. 64bit BARs behind PCI bridges supported;
      3. Many fixes for USB keyboard support - keys, XHCI;
      4. virtio-vga support.
      
      This image was built with:
      gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC)
      GNU ld version 2.23.2
      
      The full changelog is:
        > version: update to 20151103
        > documentation: Add a clause about signing off
        > qemu/js2x/client: Support binutils >= 2.25.1
        > Fix special keys on USB
        > Fix function keys on USB
        > pci-scan: program 64-bit mem bar range in pci-bridge bar
        > Allow to build SLOF on Little Endian host
        > usb-xhci: add keyboard support
        > usb-xhci: ready the link trb early
        > usb-xhci: scan usb high speed ports
        > usb-xhci: bulk improve event handling loop
        > usb-xhci: return on allocation failure
        > usb-xhci: add delay in shutdown path
        > usb-xhci: event trbs does not need link trb
        > usb-hid: refactor usb key reading
        > takeover: Fix header includes
        > board-js2x: Add missing file dma-function.fs
        > vga: Add support for virtio-vga
        > qemu-vga: Use MMIO BAR instead of legacy IO ports
        > slof: Change call_c() function to a proper assembler function
      Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      12104819
    • B
      ppc: Add/Re-introduce MMU model definitions needed by PR KVM · ba3ecda0
      Bharata B Rao 提交于
      Commit aa4bb587 (ppc: Add mmu_model defines for arch 2.03 and 2.07)
      removed the mmu_model definition POWERPC_MMU_2_06a which is needed by
      PR KVM. Reintroduce it and also add POWERPC_MMU_2_07a.
      
      This fixes QEMU crash (qemu: fatal: Unknown MMU model) during booting
      of PR KVM guest.
      Signed-off-by: NBharata B Rao <bharata@linux.vnet.ibm.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      ba3ecda0
    • P
      Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20151110.0' into staging · d93ae5b6
      Peter Maydell 提交于
      VFIO updates 2015-11-10
      
       - Make Windows happy with vfio-pci devices exposed on conventional
         PCI buses on q35 by hiding PCIe capability (Alex Williamson)
       - Convert to g_new() where appropriate (Markus Armbruster)
      
      # gpg: Signature made Tue 10 Nov 2015 19:46:41 GMT using RSA key ID 3BB08B22
      # gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex@shazbot.org>"
      # gpg:                 aka "Alex Williamson <alwillia@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>"
      
      * remotes/awilliam/tags/vfio-update-20151110.0:
        vfio: Use g_new() & friends where that makes obvious sense
        vfio/pci: Hide device PCIe capability on non-express buses for PCIe VMs
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d93ae5b6
    • M
      vfio: Use g_new() & friends where that makes obvious sense · bdd81add
      Markus Armbruster 提交于
      g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
      for two reasons.  One, it catches multiplication overflowing size_t.
      Two, it returns T * rather than void *, which lets the compiler catch
      more type errors.
      
      This commit only touches allocations with size arguments of the form
      sizeof(T).  Same Coccinelle semantic patch as in commit b45c03f5.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      bdd81add
    • A
      vfio/pci: Hide device PCIe capability on non-express buses for PCIe VMs · 0282abf0
      Alex Williamson 提交于
      When we have a PCIe VM, such as Q35, guests start to care more about
      valid configurations of devices relative to the VM view of the PCI
      topology.  Windows will error with a Code 10 for an assigned device if
      a PCIe capability is found for a device on a conventional bus.  We
      also have the possibility of IOMMUs, like VT-d, where the where the
      guest may be acutely aware of valid express capabilities on physical
      hardware.
      
      Some devices, like tg3 are adversely affected by this due to driver
      dependencies on the PCIe capability.  The only solution for such
      devices is to attach them to an express capable bus in the VM.
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      0282abf0
    • P
      Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20151110' into staging · a77067f6
      Peter Maydell 提交于
      migration/next for 20151110
      
      # gpg: Signature made Tue 10 Nov 2015 14:23:26 GMT using RSA key ID 5872D723
      # gpg: Good signature from "Juan Quintela <quintela@redhat.com>"
      # gpg:                 aka "Juan Quintela <quintela@trasno.org>"
      
      * remotes/juanquintela/tags/migration/20151110: (57 commits)
        migration: qemu_savevm_state_cleanup becomes mandatory operation
        Inhibit ballooning during postcopy
        Disable mlock around incoming postcopy
        End of migration for postcopy
        Postcopy: Mark nohugepage before discard
        postcopy: Wire up loadvm_postcopy_handle_ commands
        Start up a postcopy/listener thread ready for incoming page data
        Postcopy; Handle userfault requests
        Round up RAMBlock sizes to host page sizes
        Host page!=target page: Cleanup bitmaps
        Don't iterate on precopy-only devices during postcopy
        Don't sync dirty bitmaps in postcopy
        postcopy: Check order of received target pages
        Postcopy: Use helpers to map pages during migration
        postcopy_ram.c: place_page and helpers
        Page request: Consume pages off the post-copy queue
        Page request: Process incoming page request
        Page request: Add MIG_RP_MSG_REQ_PAGES reverse command
        Postcopy: End of iteration
        Postcopy: Postcopy startup in migration thread
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      a77067f6
  2. 10 11月, 2015 31 次提交