1. 25 3月, 2015 3 次提交
  2. 24 3月, 2015 10 次提交
  3. 23 3月, 2015 2 次提交
  4. 22 3月, 2015 2 次提交
  5. 20 3月, 2015 16 次提交
    • P
      Merge remote-tracking branch 'remotes/ehabkost/tags/x86-pull-request' into staging · 3c6c9fe0
      Peter Maydell 提交于
      X86 queue 2015-03-19
      
      # gpg: Signature made Thu Mar 19 19:40:17 2015 GMT using RSA key ID 984DC5A6
      # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>"
      # 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: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6
      
      * remotes/ehabkost/tags/x86-pull-request:
        target-i386: Haswell-noTSX and Broadwell-noTSX
        Revert "target-i386: Disable HLE and RTM on Haswell & Broadwell"
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      3c6c9fe0
    • P
      Merge remote-tracking branch... · 4eef8648
      Peter Maydell 提交于
      Merge remote-tracking branch 'remotes/ehabkost/tags/work/numa-verify-cpus-pull-request' into staging
      
      NUMA queue 2015-03-19
      
      # gpg: Signature made Thu Mar 19 19:25:53 2015 GMT using RSA key ID 984DC5A6
      # gpg: Can't check signature: public key not found
      
      * remotes/ehabkost/tags/work/numa-verify-cpus-pull-request:
        numa: Print warning if no node is assigned to a CPU
        pc: fix default VCPU to NUMA node mapping
        numa: introduce machine callback for VCPU to node mapping
        numa: Reject configuration if CPU appears on multiple nodes
        numa: Reject CPU indexes > max_cpus
        numa: Fix off-by-one error at MAX_CPUMASK_BITS check
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      4eef8648
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-usb-20150320-1' into staging · e7e9b49f
      Peter Maydell 提交于
      usb: bugfix collection.
      
      # gpg: Signature made Fri Mar 20 07:51:19 2015 GMT using RSA key ID D3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      
      * remotes/kraxel/tags/pull-usb-20150320-1:
        ehci: fix segfault when hot-unplugging ehci controller
        ohci: fix resource cleanup leak
        uhci: fix segfault when hot-unplugging uhci controller
        hw/usb: Include USB files only if necessary
        usb/dev-storage: Avoid qerror_report_err() outside QMP handlers
        usb/dev-storage: Fix QMP device_add missing encryption key failure
        monitor usb: Inline monitor_read_bdrv_key_start()'s first part
        monitor: Plug memory leak in monitor_read_bdrv_key_start()
        monitor: Drop dead QMP check from monitor_read_password()
        uhci: Convert to realize
        ohci: Complete conversion to realize
        usb: Improve companion configuration error messages
        usb: Propagate errors through usb_register_companion()
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e7e9b49f
    • G
      ehci: fix segfault when hot-unplugging ehci controller · 4e289b1b
      Gonglei 提交于
      When hot-unplugging the usb controllers (ehci/uhci),
      we have to clean all resouce of these devices,
      involved registered reset handler. Otherwise, it
      may cause NULL pointer access and/or segmentation fault
      if we reboot the guest os after hot-unplugging.
      
      Let's hook up reset via DeviceClass->reset() and drop
      the qemu_register_reset() call. Then Qemu will register
      and unregister the reset handler automatically.
      
      Cc: qemu-stable <qemu-stable@nongnu.org>
      Reported-by: NLidonglin <lidonglin@huawei.com>
      Signed-off-by: NGonglei <arei.gonglei@huawei.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      4e289b1b
    • G
      ohci: fix resource cleanup leak · 88dd1b8d
      Gonglei 提交于
      When hot-unplugging the usb controllers (ehci/uhci),
      we have to clean all resouce of these devices,
      involved registered reset handler. Otherwise, it
      may cause NULL pointer access and/or segmentation fault
      if we reboot the guest os after hot-unplugging.
      
      Let's hook up reset via DeviceClass->reset() and drop
      the qemu_register_reset() call. Then Qemu will register
      and unregister the reset handler automatically.
      
      Ohci does't support hotplugging/hotunplugging yet, but
      existing resource cleanup leak logic likes ehci/uhci.
      
      Cc: qemu-stable <qemu-stable@nongnu.org>
      Signed-off-by: NGonglei <arei.gonglei@huawei.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      88dd1b8d
    • G
      uhci: fix segfault when hot-unplugging uhci controller · 537e572a
      Gonglei 提交于
      When hot-unplugging the usb controllers (ehci/uhci),
      we have to clean all resouce of these devices,
      involved registered reset handler. Otherwise, it
      may cause NULL pointer access and/or segmentation fault
      if we reboot the guest os after hot-unplugging.
      
      Let's hook up reset via DeviceClass->reset() and drop
      the qemu_register_reset() call. Then Qemu will register
      and unregister the reset handler automatically.
      
      Cc: qemu-stable <qemu-stable@nongnu.org>
      Reported-by: NLidonglin <lidonglin@huawei.com>
      Signed-off-by: NGonglei <arei.gonglei@huawei.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      537e572a
    • E
      target-i386: Haswell-noTSX and Broadwell-noTSX · a356850b
      Eduardo Habkost 提交于
      With the Intel microcode update that removed HLE and RTM, there will be
      different kinds of Haswell and Broadwell CPUs out there: some that still
      have the HLE and RTM features, and some that don't have the HLE and RTM
      features. On both cases people may be willing to use the pc-*-2.3
      machine-types.
      
      So, to cover both cases, introduce Haswell-noTSX and Broadwell-noTSX CPU
      models, for hosts that have Haswell and Broadwell CPUs without TSX support.
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      a356850b
    • E
      Revert "target-i386: Disable HLE and RTM on Haswell & Broadwell" · 1ee91598
      Eduardo Habkost 提交于
      This reverts commit 13704e4c.
      
      With the Intel microcode update that removed HLE and RTM, there will be
      different kinds of Haswell and Broadwell CPUs out there: some that still
      have the HLE and RTM features, and some that don't have the HLE and RTM
      features. On both cases people may be willing to use the pc-*-2.3
      machine-types.
      
      So instead of making the CPU model results confusing by making it depend
      on the machine-type, keep HLE and RTM on the existing Haswell and
      Broadwell CPU models. The plan is to introduce "Haswell-noTSX" and
      "Broadwell-noTSX" CPU models later, for people who have CPUs that don't
      have TSX feature available.
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      1ee91598
    • E
      numa: Print warning if no node is assigned to a CPU · 549fc54b
      Eduardo Habkost 提交于
      We need all possible CPUs (including hotplug ones) to be present in the
      SRAT when QEMU starts. QEMU already does that correctly today, the only
      problem is that when a CPU is omitted from the NUMA configuration, it is
      silently assigned to node 0.
      
      Check if all CPUs up to max_cpus are present in the NUMA configuration
      and warn about missing CPUs.
      
      Make it just a warning, to allow management software to be updated if
      necessary. In the future we may make it a fatal error instead.
      
      Command-line examples:
      
      * Correct, no warning:
      
        $ qemu-system-x86_64 -smp 2,maxcpus=4
        $ qemu-system-x86_64 -smp 2,maxcpus=4 -numa node,cpus=0-3
      
      * Incomplete, with warnings:
      
        $ qemu-system-x86_64 -smp 2,maxcpus=4 -numa node,cpus=0
        qemu-system-x86_64: warning: CPU(s) not present in any NUMA nodes: 1 2 3
        qemu-system-x86_64: warning: All CPU(s) up to maxcpus should be described in NUMA config
      
        $ qemu-system-x86_64 -smp 2,maxcpus=4 -numa node,cpus=0-2
        qemu-system-x86_64: warning: CPU(s) not present in any NUMA nodes: 3
        qemu-system-x86_64: warning: All CPU(s) up to maxcpus should be described in NUMA config
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      ---
      v1 -> v2: (no changes)
      
      v2 -> v3:
       * Use enumerate_cpus() and error_report() for error message
       * Simplify logic using bitmap_full()
      
      v3 -> v4:
       * Clarify error message, mention that all CPUs up to
         maxcpus need to be described in NUMA config
      
      v4 -> v5:
       * Commit log update, to make problem description clearer
      549fc54b
    • I
      pc: fix default VCPU to NUMA node mapping · fb43b73b
      Igor Mammedov 提交于
      Since commit
         dd0247e0 pc: acpi: mark all possible CPUs as enabled in SRAT
      Linux kernel actually tries to use CPU to Node mapping from
      QEMU provided SRAT table instead of discarding it, and that
      in some cases breaks build_sched_domains() which expects
      sane mapping where cores/threads belonging to the same socket
      are on the same NUMA node.
      
      With current default round-robin mapping of VCPUs to nodes
      guest ends-up with cores/threads belonging to the same socket
      being on different NUMA nodes.
      
      For example with following CLI:
      
         qemu-system-x86_64 -m 4G \
               -cpu Opteron_G3,vendor=AuthenticAMD \
               -smp 5,sockets=1,cores=4,threads=1,maxcpus=8 \
               -numa node,nodeid=0 -numa node,nodeid=1
      
      2.6.32 based kernels will hang on boot due to incorrectly built
      sched_group-s list in update_sd_lb_stats()
      
      Replacing default mapping with a manual, where VCPUs belonging to
      the same socket are on the same NUMA node, fixes the issue for
      guests which can't handle nonsense topology i.e. changing CLI to:
        -numa node,nodeid=0,cpus=0-3 -numa node,nodeid=1,cpus=4-7
      
      So instead of simply scattering VCPUs around nodes, provide
      callback to map the same socket VCPUs to the same NUMA node,
      which is what guests would expect from a sane hardware/BIOS.
      Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Reviewed-by: NAndreas Färber <afaerber@suse.de>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      fb43b73b
    • I
      numa: introduce machine callback for VCPU to node mapping · 57924bcd
      Igor Mammedov 提交于
      Current default round-robin way of distributing VCPUs among
      NUMA nodes might be wrong in case on multi-core/threads
      CPUs. Making guests confused wrt topology where cores from
      the same socket are on different nodes.
      
      Allow a machine to override default mapping by providing
       MachineClass::cpu_index_to_socket_id()
      callback which would allow it group VCPUs from a socket
      on the same NUMA node.
      Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Reviewed-by: NAndreas Färber <afaerber@suse.de>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      57924bcd
    • E
      numa: Reject configuration if CPU appears on multiple nodes · 3ef71975
      Eduardo Habkost 提交于
      Each CPU can appear in only one NUMA node on the NUMA config. Reject
      configuration if a CPU appears in multiple nodes.
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      3ef71975
    • E
      numa: Reject CPU indexes > max_cpus · 8979c945
      Eduardo Habkost 提交于
      CPU index is always less than max_cpus, as documented at sysemu.h:
      
      > The following shall be true for all CPUs:
      >   cpu->cpu_index < max_cpus <= MAX_CPUMASK_BITS
      
      Reject configuration which uses invalid CPU indexes.
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      8979c945
    • E
      numa: Fix off-by-one error at MAX_CPUMASK_BITS check · ed26b922
      Eduardo Habkost 提交于
      Fix the CPU index check to ensure we don't go beyond the size of the
      node_cpu bitmap.
      
      CPU index is always less than MAX_CPUMASK_BITS, as documented at
      sysemu.h:
      
      > The following shall be true for all CPUs:
      >   cpu->cpu_index < max_cpus <= MAX_CPUMASK_BITS
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      ed26b922
    • P
      Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging · 3e5f6234
      Peter Maydell 提交于
      Block patches for 2.3.0-rc1
      
      # gpg: Signature made Thu Mar 19 15:03:26 2015 GMT using RSA key ID C88F2FD6
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>"
      
      * remotes/kevin/tags/for-upstream:
        block: Fix blockdev-backup not to use funky error class
        raw-posix: Deprecate aio=threads fallback without O_DIRECT
        raw-posix: Deprecate host floppy passthrough
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      3e5f6234
    • P
      Merge remote-tracking branch 'remotes/amit/tags/vser-for-2.3-3' into staging · 33a8d5b7
      Peter Maydell 提交于
      virtio-serial api: guest_writable callback for users
      
      # gpg: Signature made Thu Mar 19 12:06:55 2015 GMT using RSA key ID 854083B6
      # gpg: Good signature from "Amit Shah <amit@amitshah.net>"
      # gpg:                 aka "Amit Shah <amit@kernel.org>"
      # gpg:                 aka "Amit Shah <amitshah@gmx.net>"
      
      * remotes/amit/tags/vser-for-2.3-3:
        virtio: serial: expose a 'guest_writable' callback for users
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      33a8d5b7
  6. 19 3月, 2015 7 次提交
    • M
      block: Fix blockdev-backup not to use funky error class · 5b347c54
      Markus Armbruster 提交于
      Error classes are a leftover from the days of "rich" error objects.
      New code should always use ERROR_CLASS_GENERIC_ERROR.  Commit
      b7b9d39a..7c6a4ab8 added uses of ERROR_CLASS_DEVICE_NOT_FOUND.  Replace
      them.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      5b347c54
    • P
      Merge remote-tracking branch 'remotes/mjt/tags/pull-trivial-patches-2015-03-19' into staging · 7a9a5e72
      Peter Maydell 提交于
      trivial patches for 2015-03-19
      
      # gpg: Signature made Thu Mar 19 08:57:54 2015 GMT using RSA key ID A4C3D7DB
      # gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>"
      # gpg:                 aka "Michael Tokarev <mjt@corpit.ru>"
      # gpg:                 aka "Michael Tokarev <mjt@debian.org>"
      
      * remotes/mjt/tags/pull-trivial-patches-2015-03-19: (24 commits)
        qga/commands-posix: Fix resource leak
        elf-loader: Add missing error handling for call of lseek
        elf-loader: Fix truncation warning from coverity
        hmp: Fix texinfo documentation
        Fix typos in comments
        qtest/ahci: Fix a bit mask expression
        vl: fix resource leak with monitor_fdset_add_fd
        smbios: add max speed comdline option for type-17 (meory device) structure
        pc-dimm: Add description for device list.
        configure: enable kvm on x32
        error: Replace error_report() & error_free() with error_report_err()
        arm: fix memory leak
        qmp: Drop unused .user_print from command definitions
        hmp: Fix definition of command quit
        target-moxie: Fix warnings from Sparse (one-bit signed bitfield)
        block/qapi: Fix Sparse warning
        Fix remaining warnings from Sparse (void return)
        qom: Fix warning from Sparse
        target-mips: Fix warning from Sparse
        arm/nseries: Fix warnings from Sparse
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      7a9a5e72
    • P
      Merge remote-tracking branch 'remotes/lalrae/tags/mips-20150318' into staging · d88aec88
      Peter Maydell 提交于
      MIPS patches 2015-03-18
      
      Changes:
      * bug fixes
      
      # gpg: Signature made Wed Mar 18 10:06:00 2015 GMT using RSA key ID 0B29DA6B
      # gpg: Can't check signature: public key not found
      
      * remotes/lalrae/tags/mips-20150318:
        target-mips: save cpu state before calling MSA load and store helpers
        target-mips: fix hflags modified in delay / forbidden slot
        target-mips: fix CP0.BadVAddr by stopping translation on Address Error
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d88aec88
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-vnc-20150318-1' into staging · 1cfa7e0a
      Peter Maydell 提交于
      vnc: fix websockets & QMP.
      
      # gpg: Signature made Wed Mar 18 13:12:35 2015 GMT using RSA key ID D3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      
      * remotes/kraxel/tags/pull-vnc-20150318-1:
        ui: ensure VNC websockets server checks the ACL if requested
        ui: remove separate gnutls_session for websockets server
        ui: enforce TLS when using websockets server
        ui: fix setup of VNC websockets auth scheme with TLS
        ui: split setup of VNC auth scheme into separate method
        ui: report error if user requests VNC option that is unsupported
        ui: replace printf() calls with VNC_DEBUG
        ui: remove unused 'wiremode' variable in VncState struct
        vnc: Fix QMP change not to use funky error class
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      1cfa7e0a
    • A
      virtio: serial: expose a 'guest_writable' callback for users · 4add73aa
      Amit Shah 提交于
      Users of virtio-serial may want to know when a port becomes writable.  A
      port can stop accepting writes if the guest port is open but not being
      read from.  In this case, data gets queued up in the virtqueue, and
      after the vq is full, writes to the port do not succeed.
      
      When the guest reads off a vq element, and adds a new one for the host
      to put data in, we can tell users the port is available for more writes,
      via the new ->guest_writable() callback.
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      4add73aa
    • K
      raw-posix: Deprecate aio=threads fallback without O_DIRECT · 96518254
      Kevin Wolf 提交于
      Currently, if the user requests aio=native, but forgets to choose a
      cache mode that sets O_DIRECT, that request is silently ignored and raw
      falls back to aio=threads.
      
      Deprecate that behaviour so we can make it an error in future qemu
      versions.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      96518254
    • P
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · 2259c16d
      Peter Maydell 提交于
      pci, virtio bugfixes for 2.3
      
      Just a bunch of bugfixes. Should be nothing remarkable here.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Wed Mar 18 12:31:03 2015 GMT using RSA key ID D28D5469
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>"
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>"
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # 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:
        pcie_aer: fix comment to match pcie spec
        pci: fix several trivial typos in comment
        aer: fix a wrong init PCI_ERR_COR_STATUS w1cmask type register
        pcie_aer: fix typos in pcie_aer_inject_error comment
        aer: fix wrong check on expose aer tlp prefix log
        pcie: correct mistaken register bit for End-End TLP Prefix Blocking
        virtio: Fix memory leaks reported by Coverity
        virtio: validate the existence of handle_output before calling it
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      2259c16d