1. 23 3月, 2017 12 次提交
    • P
      Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-03-22-v3' into staging · d81d857f
      Peter Maydell 提交于
      QAPI patches for 2017-03-22
      
      # gpg: Signature made Wed 22 Mar 2017 18:25:15 GMT
      # gpg:                using RSA key 0x3870B400EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
      
      * remotes/armbru/tags/pull-qapi-2017-03-22-v3:
        qapi: Fix QemuOpts visitor regression on unvisited input
        qom: Avoid unvisited 'id'/'qom-type' in user_creatable_add_opts
        tests: Expose regression in QemuOpts visitor
        test-qobject-input-visitor: Cover visit_type_uint64()
        Revert "hostmem: fix QEMU crash by 'info memdev'"
        qapi: Fix string input visitor regression for empty lists
        qapi2texi: Fix translation of *strong* and _emphasized_
        tests/qapi-schema: Systematic positive doc comment tests
        tests/qapi-schema: Make test-qapi.py print docs again
        qapi: Drop unused QAPIDoc member optional
        qapi2texi: Fix to actually fail when 'doc-required' is false
        qapi: Drop excessive Make dependencies on qapi2texi.py
        MAINTAINERS: Add myself for files I touched recently
        keyval: Document issues with 'any' and alternate types
        test-keyval: Cover alternate and 'any' type
        keyval: Improve some comments
        test-keyval: Tweaks to improve list coverage
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d81d857f
    • P
      Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging · e6ebebc2
      Peter Maydell 提交于
      # gpg: Signature made Wed 22 Mar 2017 17:28:56 GMT
      # gpg:                using RSA key 0xBDBE7B27C0DE3057
      # gpg: Good signature from "Jeffrey Cody <jcody@redhat.com>"
      # gpg:                 aka "Jeffrey Cody <jeff@codyprime.org>"
      # gpg:                 aka "Jeffrey Cody <codyprime@gmail.com>"
      # Primary key fingerprint: 9957 4B4D 3474 90E7 9D98  D624 BDBE 7B27 C0DE 3057
      
      * remotes/cody/tags/block-pull-request:
        blockjob: add devops to blockjob backends
        block-backend: add drained_begin / drained_end ops
        blockjob: add block_job_start_shim
        blockjob: avoid recursive AioContext locking
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e6ebebc2
    • P
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · 2077cabc
      Peter Maydell 提交于
      virtio, pc: fixes
      
      virtio and misc fixes for 2.9.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Wed 22 Mar 2017 16:29:50 GMT
      # gpg:                using RSA key 0x281F0DB8D28D5469
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>"
      # gpg:                 aka "Michael S. Tsirkin <mst@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:
        hw/acpi/vmgenid: prevent more than one vmgenid device
        hw/acpi/vmgenid: prevent device realization on pre-2.5 machine types
        virtio: always use handle_aio_output if registered
        virtio: Fix error handling in virtio_bus_device_plugged
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      2077cabc
    • P
      Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging · ad3c6418
      Peter Maydell 提交于
      # gpg: Signature made Wed 22 Mar 2017 12:54:29 GMT
      # gpg:                using RSA key 0x9CA4ABB381AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"
      # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8
      
      * remotes/stefanha/tags/block-pull-request:
        parallels: fix default options parsing
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      ad3c6418
    • E
      qapi: Fix QemuOpts visitor regression on unvisited input · 21f88d02
      Eric Blake 提交于
      An off-by-one in commit 15c2f669 meant that we were failing to
      check for unparsed input in all QemuOpts visitors.  Recent testsuite
      additions show that fixing the obvious bug with bogus fields will
      also fix the case of an incomplete list visit; update the tests to
      match the new behavior.
      
      Simple testcase:
      
      ./x86_64-softmmu/qemu-system-x86_64 -nodefaults -nographic -qmp stdio -numa node,size=1g
      
      failed to diagnose that 'size' is not a valid argument to -numa, and
      now once again reports:
      
      qemu-system-x86_64: -numa node,size=1g: Invalid parameter 'size'
      
      See also https://bugzilla.redhat.com/show_bug.cgi?id=1434666
      
      CC: qemu-stable@nongnu.org
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      Tested-by: NLaurent Vivier <lvivier@redhat.com>
      Message-Id: <20170322144525.18964-4-eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      21f88d02
    • E
      qom: Avoid unvisited 'id'/'qom-type' in user_creatable_add_opts · 9a6d1acb
      Eric Blake 提交于
      A regression in commit 15c2f669 caused us to silently ignore
      excess input to the QemuOpts visitor.  Later, commit ea4641
      accidentally abused that situation, by removing "qom-type" and
      "id" from the corresponding QDict but leaving them defined in
      the QemuOpts, when using the pair of containers to create a
      user-defined object. Note that since we are already traversing
      two separate items (a QDict and a QemuOpts), we are already
      able to flag bogus arguments, as in:
      
      $ ./x86_64-softmmu/qemu-system-x86_64 -nodefaults -nographic -qmp stdio -object memory-backend-ram,id=mem1,size=4k,bogus=huh
      qemu-system-x86_64: -object memory-backend-ram,id=mem1,size=4k,bogus=huh: Property '.bogus' not found
      
      So the only real concern is that when we re-enable strict checking
      in the QemuOpts visitor, we do not want to start flagging the two
      leftover keys as unvisited.  Rearrange the code to clean out the
      QemuOpts listing in advance, rather than removing items from the
      QDict.  Since "qom-type" is usually an automatic implicit default,
      we don't have to restore it (this does mean that once instantiated,
      QemuOpts is not necessarily an accurate representation of the
      original command line - but this is not the first place to do that);
      however "id" has to be put back (requiring us to cast away a const).
      
      [As a side note, hmp_object_add() turns a QDict into a QemuOpts,
      then calls user_creatable_add_opts() which converts QemuOpts into
      a new QDict. There are probably a lot of wasteful conversions like
      this, but cleaning them up is a much bigger task than the immediate
      regression fix.]
      
      CC: qemu-stable@nongnu.org
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20170322144525.18964-3-eblake@redhat.com>
      Tested-by: NLaurent Vivier <lvivier@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      9a6d1acb
    • J
      blockjob: add devops to blockjob backends · 600ac6a0
      John Snow 提交于
      This lets us hook into drained_begin and drained_end requests from the
      backend level, which is particularly useful for making sure that all
      jobs associated with a particular node (whether the source or the target)
      receive a drain request.
      Suggested-by: NKevin Wolf <kwolf@redhat.com>
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NJeff Cody <jcody@redhat.com>
      Message-id: 20170316212351.13797-4-jsnow@redhat.com
      Signed-off-by: NJeff Cody <jcody@redhat.com>
      600ac6a0
    • J
      block-backend: add drained_begin / drained_end ops · f4d9cc88
      John Snow 提交于
      Allow block backends to forward drain requests to their devices/users.
      The initial intended purpose for this patch is to allow BBs to forward
      requests along to BlockJobs, which will want to pause if their associated
      BB has entered a drained region.
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NJeff Cody <jcody@redhat.com>
      Message-id: 20170316212351.13797-3-jsnow@redhat.com
      Signed-off-by: NJeff Cody <jcody@redhat.com>
      f4d9cc88
    • J
      blockjob: add block_job_start_shim · e3796a24
      John Snow 提交于
      The purpose of this shim is to allow us to pause pre-started jobs.
      The purpose of *that* is to allow us to buffer a pause request that
      will be able to take effect before the job ever does any work, allowing
      us to create jobs during a quiescent state (under which they will be
      automatically paused), then resuming the jobs after the critical section
      in any order, either:
      
      (1) -block_job_start
          -block_job_resume (via e.g. drained_end)
      
      (2) -block_job_resume (via e.g. drained_end)
          -block_job_start
      
      The problem that requires a startup wrapper is the idea that a job must
      start in the busy=true state only its first time-- all subsequent entries
      require busy to be false, and the toggling of this state is otherwise
      handled during existing pause and yield points.
      
      The wrapper simply allows us to mandate that a job can "start," set busy
      to true, then immediately pause only if necessary. We could avoid
      requiring a wrapper, but all jobs would need to do it, so it's been
      factored out here.
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NJeff Cody <jcody@redhat.com>
      Message-id: 20170316212351.13797-2-jsnow@redhat.com
      Signed-off-by: NJeff Cody <jcody@redhat.com>
      e3796a24
    • P
      blockjob: avoid recursive AioContext locking · d79df2a2
      Paolo Bonzini 提交于
      Streaming or any other block job hangs when performed on a block device
      that has a non-default iothread.  This happens because the AioContext
      is acquired twice by block_job_defer_to_main_loop_bh and then released
      only once by BDRV_POLL_WHILE.  (Insert rants on recursive mutexes, which
      unfortunately are a temporary but necessary evil for iothreads at the
      moment).
      
      Luckily, the reason for the double acquisition is simple; the function
      acquires the AioContext for both the job iothread and the BDS iothread,
      in case the BDS iothread was changed while the job was running.  It
      is therefore enough to skip the second acquisition when the two
      AioContexts are one and the same.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NJeff Cody <jcody@redhat.com>
      Message-id: 1490118490-5597-1-git-send-email-pbonzini@redhat.com
      Signed-off-by: NJeff Cody <jcody@redhat.com>
      d79df2a2
    • L
      hw/acpi/vmgenid: prevent more than one vmgenid device · f9206302
      Laszlo Ersek 提交于
      A system with multiple VMGENID devices is undefined in the VMGENID spec by
      omission.
      
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: Ben Warren <ben@skyportsystems.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      f9206302
    • L
      hw/acpi/vmgenid: prevent device realization on pre-2.5 machine types · f2a1ae45
      Laszlo Ersek 提交于
      The WRITE_POINTER linker/loader command that underlies VMGENID depends on
      commit baf2d5bf ("fw-cfg: support writeable blobs", 2017-01-12), which
      in turn depends on fw_cfg DMA.
      
      DMA for fw_cfg is enabled in 2.5+ machine types only (see commit
      e6915b5f, "fw_cfg: unbreak migration compatibility for 2.4 and earlier
      machines", 2016-02-18).
      
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: Ben Warren <ben@skyportsystems.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NBen Warren &lt;ben@skyportsystems.com <mailto:ben@skyportsystems.com&gt;>
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      f2a1ae45
  2. 22 3月, 2017 5 次提交
  3. 21 3月, 2017 21 次提交
  4. 20 3月, 2017 2 次提交
    • P
      configure: remove Cygwin · c8645752
      Paolo Bonzini 提交于
      The Cygwin target is really compiling for native Win32 with -mno-cygwin.
      Except, GCC 4.7.0 has finally removed the long deprecated -mno-cygwin
      option, and that happened about five years ago.
      
      Let it rest in peace.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NStefan Weil <sw@weilnetz.de>
      Message-id: 20170317160811.28370-1-pbonzini@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c8645752
    • P
      Merge remote-tracking branch 'remotes/yongbok/tags/mips-20170320' into staging · e8b974f1
      Peter Maydell 提交于
      MIPS patches 2017-03-20
      
      Changes:
      * Fix clang warnings
      * Fix delay slot detection in gen_msa_branch()
      * Fix rc4030 interval timer
      * Fix rc4030 to tranlate memory accesses only when they occur
      * Fix 4c4030 a mixed declarations and code warning
      * Update MAINTAINERS file
      
      # gpg: Signature made Mon 20 Mar 2017 12:46:01 GMT
      # gpg:                using RSA key 0x2238EB86D5F797C2
      # gpg: Good signature from "Yongbok Kim <yongbok.kim@imgtec.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: 8600 4CF5 3415 A5D9 4CFA  2B5C 2238 EB86 D5F7 97C2
      
      * remotes/yongbok/tags/mips-20170320:
        MAINTAINERS: update for MIPS devices
        dma/rc4030: fix a mixed declarations and code warning
        dma/rc4030: translate memory accesses only when they occur
        dma: rc4030: limit interval timer reload value
        target/mips: fix delay slot detection in gen_msa_branch()
        target-mips: replace few LOG_DISAS() with trace points
        target-mips: replace break by goto cp0_unimplemented
        target-mips: log bad coprocessor0 register accesses with LOG_UNIMP
        target-mips: remove old & unuseful comments
        target-mips: fix compiler warnings (clang 5)
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e8b974f1