1. 10 10月, 2019 26 次提交
  2. 08 10月, 2019 7 次提交
    • P
      Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging · 98b2e3c9
      Peter Maydell 提交于
      Pull request
      
      This pull request also contains the two commits from the previous pull request
      that was dropped due to a mingw compilation error.  The compilation should now
      be fixed.
      
      # gpg: Signature made Tue 08 Oct 2019 15:54:26 BST
      # gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
      # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8
      
      * remotes/stefanha/tags/block-pull-request:
        iotests/262: Switch source/dest VM launch order
        block: Skip COR for inactive nodes
        virtio-blk: schedule virtio_notify_config to run on main context
        util/ioc.c: try to reassure Coverity about qemu_iovec_init_extended
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      98b2e3c9
    • M
      iotests/262: Switch source/dest VM launch order · 4d804b53
      Max Reitz 提交于
      Launching the destination VM before the source VM gives us a regression
      test for HEAD^:
      
      The guest device causes a read from the disk image through
      guess_disk_lchs().  This will not work if the first sector (containing
      the partition table) is yet unallocated, we use COR, and the node is
      inactive.
      
      By launching the source VM before the destination, however, the COR
      filter on the source will allocate that area in the image shared between
      both VMs, thus the problem will not become apparent.
      
      Switching the launch order causes the sector to still be unallocated
      when guess_disk_lchs() runs on the inactive node in the destination VM,
      and thus we get our test case.
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 20191001174827.11081-3-mreitz@redhat.com
      Message-Id: <20191001174827.11081-3-mreitz@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      4d804b53
    • M
      block: Skip COR for inactive nodes · 8644476e
      Max Reitz 提交于
      We must not write data to inactive nodes, and a COR is certainly
      something we can simply not do without upsetting anyone.  So skip COR
      operations on inactive nodes.
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 20191001174827.11081-2-mreitz@redhat.com
      Message-Id: <20191001174827.11081-2-mreitz@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      8644476e
    • S
      virtio-blk: schedule virtio_notify_config to run on main context · 9b92fbcf
      Sergio Lopez 提交于
      virtio_notify_config() needs to acquire the global mutex, which isn't
      allowed from an iothread, and may lead to a deadlock like this:
      
       - main thead
        * Has acquired: qemu_global_mutex.
        * Is trying the acquire: iothread AioContext lock via
          AIO_WAIT_WHILE (after aio_poll).
      
       - iothread
        * Has acquired: AioContext lock.
        * Is trying to acquire: qemu_global_mutex (via
          virtio_notify_config->prepare_mmio_access).
      
      If virtio_blk_resize() is called from an iothread, schedule
      virtio_notify_config() to be run in the main context BH.
      
      [Removed unnecessary newline as suggested by Kevin Wolf
      <kwolf@redhat.com>.
      --Stefan]
      Signed-off-by: NSergio Lopez <slp@redhat.com>
      Reviewed-by: NKevin Wolf <kwolf@redhat.com>
      Message-id: 20190916112411.21636-1-slp@redhat.com
      Message-Id: <20190916112411.21636-1-slp@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      9b92fbcf
    • V
      util/ioc.c: try to reassure Coverity about qemu_iovec_init_extended · d38d6de2
      Vladimir Sementsov-Ogievskiy 提交于
      Make it more obvious, that filling qiov corresponds to qiov allocation,
      which in turn corresponds to total_niov calculation, based on mid_niov
      (not mid_len). Still add an assertion to show that there should be no
      difference.
      
      [Added mingw "error: 'mid_iov' may be used uninitialized in this
      function" compiler error fix suggested by Vladimir.
      --Stefan]
      
      Reported-by: Coverity (CID 1405302)
      Signed-off-by: NVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-id: 20190910090310.14032-1-vsementsov@virtuozzo.com
      Suggested-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-Id: <20190910090310.14032-1-vsementsov@virtuozzo.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      
      fixup! util/ioc.c: try to reassure Coverity about qemu_iovec_init_extended
      d38d6de2
    • P
      Merge remote-tracking branch 'remotes/philmd-gitlab/tags/edk2-next-20191007' into staging · 14d40ab1
      Peter Maydell 提交于
      Improve scripts relying on the EDK2 submodule,
      drop Python2 dependency in EDK2 build scripts.
      
      # gpg: Signature made Mon 07 Oct 2019 14:31:38 BST
      # gpg:                using RSA key 89C1E78F601EE86C867495CBA2A3FD6EDEADC0DE
      # gpg: Good signature from "Philippe Mathieu-Daudé (Phil) <philmd@redhat.com>" [marginal]
      # 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: 89C1 E78F 601E E86C 8674  95CB A2A3 FD6E DEAD C0DE
      
      * remotes/philmd-gitlab/tags/edk2-next-20191007:
        edk2 build scripts: work around TianoCore#1607 without forcing Python 2
        edk2 build scripts: honor external BaseTools flags with uefi-test-tools
        roms: Add a 'make help' target alias
        roms/Makefile.edk2: don't pull in submodules when building from tarball
        make-release: pull in edk2 submodules so we can build it from tarballs
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      14d40ab1
    • P
      Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging · ce701584
      Peter Maydell 提交于
      slirp: Allow non-local DNS address when restrict is off
      
      # gpg: Signature made Mon 07 Oct 2019 00:54:44 BST
      # gpg:                using RSA key 5ED9E856F7D6C6EAF51167A18D35C355720BBAFD
      # gpg: Good signature from "Samuel Thibault <samuel.thibault@aquilenet.fr>" [unknown]
      # gpg:                 aka "Samuel Thibault <sthibault@debian.org>" [marginal]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@gnu.org>" [unknown]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@inria.fr>" [marginal]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@labri.fr>" [marginal]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@ens-lyon.org>" [marginal]
      # gpg:                 aka "Samuel Thibault <samuel.thibault@u-bordeaux.fr>" [unknown]
      # 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: 900C B024 B679 31D4 0F82  304B D017 8C76 7D06 9EE6
      #      Subkey fingerprint: 5ED9 E856 F7D6 C6EA F511  67A1 8D35 C355 720B BAFD
      
      * remotes/thibault/tags/samuel-thibault:
        slirp: Allow non-local DNS address when restrict is off
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      ce701584
  3. 07 10月, 2019 7 次提交
    • P
      Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging · 560009f2
      Peter Maydell 提交于
      Block layer patches:
      
      - Fix internal snapshots with typical -blockdev setups
      - iotests: Require Python 3.6 or later
      
      # gpg: Signature made Fri 04 Oct 2019 10:59:21 BST
      # gpg:                using RSA key 7F09B272C88F2FD6
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
      # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6
      
      * remotes/kevin/tags/for-upstream:
        iotests: Remove Python 2 compatibility code
        iotests: Require Python 3.6 or later
        iotests: Test internal snapshots with -blockdev
        block/snapshot: Restrict set of snapshot nodes
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      560009f2
    • L
      edk2 build scripts: work around TianoCore#1607 without forcing Python 2 · 037973bb
      Laszlo Ersek 提交于
      It turns out that forcing python2 for running the edk2 "build" utility is
      neither necessary nor sufficient.
      
      Forcing python2 is not sufficient for two reasons:
      
      - QEMU is moving away from python2, with python2 nearing EOL,
      
      - according to my most recent testing, the lacking dependency information
        in the makefiles that are generated by edk2's "build" utility can cause
        parallel build failures even when "build" is executed by python2.
      
      And forcing python2 is not necessary because we can still return to the
      original idea of filtering out jobserver-related options from MAKEFLAGS.
      So do that.
      
      While at it, cut short edk2's auto-detection of the python3.* minor
      version, by setting PYTHON_COMMAND to "python3" (which we expect to be
      available wherever we intend to build edk2).
      
      With this patch, the guest UEFI binaries that are used as part of the BIOS
      tables test, and the OVMF and ArmVirtQemu platform firmwares, will be
      built strictly in a single job, regardless of an outermost "-jN" make
      option. Alas, there appears to be no reliable way to build edk2 in an
      (outer make, inner make) environment, with a jobserver enabled.
      
      Cc: Eduardo Habkost <ehabkost@redhat.com>
      Cc: John Snow <jsnow@redhat.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reported-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Tested-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Message-Id: <20190920083808.21399-3-lersek@redhat.com>
      Signed-off-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      037973bb
    • L
      edk2 build scripts: honor external BaseTools flags with uefi-test-tools · 53fde085
      Laszlo Ersek 提交于
      Unify the recipe for "build-edk2-tools" in
      "tests/uefi-test-tools/Makefile" with the recipe for "edk2-basetools" in
      "roms/Makefile".
      
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Tested-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Message-Id: <20190920083808.21399-2-lersek@redhat.com>
      Signed-off-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      53fde085
    • P
      roms: Add a 'make help' target alias · 6f8a70f6
      Philippe Mathieu-Daudé 提交于
      Various C projects provide a 'make help' target. Our root directory
      does so. The roms/ directory lacks a such rule, but already displays
      a help output when the default target is called.
      Add a 'help' target aliased to the default one, to avoid:
      
        $ make -C roms help
        make: *** No rule to make target 'help'.  Stop.
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      Message-Id: <20190920171159.18633-1-philmd@redhat.com>
      Signed-off-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      6f8a70f6
    • M
      roms/Makefile.edk2: don't pull in submodules when building from tarball · f3e330e3
      Michael Roth 提交于
      Currently the `make efi` target pulls submodules nested under the
      roms/edk2 submodule as dependencies. However, when we attempt to build
      from a tarball this fails since we are no longer in a git tree.
      
      A preceding patch will pre-populate these submodules in the tarball,
      so assume this build dependency is only needed when building from a
      git tree.
      
      Cc: Laszlo Ersek <lersek@redhat.com>
      Cc: Bruce Rogers <brogers@suse.com>
      Cc: qemu-stable@nongnu.org # v4.1.0
      Reported-by: NBruce Rogers <brogers@suse.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Tested-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      Message-Id: <20190912231202.12327-3-mdroth@linux.vnet.ibm.com>
      Signed-off-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      f3e330e3
    • M
      make-release: pull in edk2 submodules so we can build it from tarballs · 45c61c6c
      Michael Roth 提交于
      The `make efi` target added by 536d2173 is built from the roms/edk2
      submodule, which in turn relies on additional submodules nested under
      roms/edk2.
      
      The make-release script currently only pulls in top-level submodules,
      so these nested submodules are missing in the resulting tarball.
      
      We could try to address this situation more generally by recursively
      pulling in all submodules, but this doesn't necessarily ensure the
      end-result will build properly (this case also required other changes).
      
      Additionally, due to the nature of submodules, we may not always have
      control over how these sorts of things are dealt with, so for now we
      continue to handle it on a case-by-case in the make-release script.
      
      Cc: Laszlo Ersek <lersek@redhat.com>
      Cc: Bruce Rogers <brogers@suse.com>
      Cc: qemu-stable@nongnu.org # v4.1.0
      Reported-by: NBruce Rogers <brogers@suse.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Tested-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      Message-Id: <20190912231202.12327-2-mdroth@linux.vnet.ibm.com>
      Signed-off-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      45c61c6c
    • P
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.2-20191004' into staging · 0f0b4386
      Peter Maydell 提交于
      ppc patch queue 2019-10-04
      
      Here's the next batch of ppc and spapr patches.  Includes:
        * Fist part of a large cleanup to irq infrastructure
        * Recreate the full FDT at CAS time, instead of making a difficult
          to follow set of updates.  This will help us move towards
          eliminating CAS reboots altogether
        * No longer provide RTAS blob to SLOF - SLOF can include it just as
          well itself, since guests will generally need to relocate it with
          a call to instantiate-rtas
        * A number of DFP fixes and cleanups from Mark Cave-Ayland
        * Assorted bugfixes
        * Several new small devices for powernv
      
      # gpg: Signature made Fri 04 Oct 2019 10:35:57 BST
      # gpg:                using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full]
      # gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown]
      # Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-for-4.2-20191004: (53 commits)
        ppc/pnv: Remove the XICSFabric Interface from the POWER9 machine
        spapr: Eliminate SpaprIrq::init hook
        spapr: Add return value to spapr_irq_check()
        spapr: Use less cryptic representation of which irq backends are supported
        xive: Improve irq claim/free path
        spapr, xics, xive: Better use of assert()s on irq claim/free paths
        spapr: Handle freeing of multiple irqs in frontend only
        spapr: Remove unhelpful tracepoints from spapr_irq_free_xics()
        spapr: Eliminate SpaprIrq:get_nodename method
        spapr: Simplify spapr_qirq() handling
        spapr: Fix indexing of XICS irqs
        spapr: Eliminate nr_irqs parameter to SpaprIrq::init
        spapr: Clarify and fix handling of nr_irqs
        spapr: Replace spapr_vio_qirq() helper with spapr_vio_irq_pulse() helper
        spapr: Fold spapr_phb_lsi_qirq() into its single caller
        xics: Create sPAPR specific ICS subtype
        xics: Merge TYPE_ICS_BASE and TYPE_ICS_SIMPLE classes
        xics: Eliminate reset hook
        xics: Rename misleading ics_simple_*() functions
        xics: Eliminate 'reject', 'resend' and 'eoi' class hooks
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      0f0b4386