1. 23 Mar, 2017 2 commits
  2. 21 Mar, 2017 6 commits
    • Peter Maydell's avatar
    • Peter Maydell's avatar
      configure: Warn about deprecated hosts · 898be3e0
      Peter Maydell authored
      We plan to drop support in a future QEMU release for host OSes
      and host architectures for which we have no test machine where
      we can build and run tests. For the 2.9 release, make configure
      print a warning if it is run on such a host, so that the user
      has some warning of the plans and can volunteer to help us
      maintain the port if they need it to continue to function.
      This commit flags up as deprecated the CPU architectures:
       * ia64
       * sparc
       * anything which we don't have a TCG port for
         (and which was presumably using TCI)
      and the OSes:
       * GNU/kFreeBSD
       * DragonFly BSD
       * NetBSD
       * OpenBSD
       * Solaris
       * AIX
       * Haiku
      It also makes entirely unrecognized host OS strings be
      rejected rather than treated as if they were Linux (which
      likely never worked).
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1490106717-9542-1-git-send-email-peter.maydell@linaro.org
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/gkurz/tags/for-upstream' into staging · 41a56822
      Peter Maydell authored
      This pull request fixes a potential QEMU hang in 9pfs and two issues
      reported by Coverity.
      # gpg: Signature made Tue 21 Mar 2017 09:57:58 GMT
      # gpg:                using DSA key 0x02FC3AEB0101DBC2
      # gpg: Good signature from "Greg Kurz <groug@kaod.org>"
      # gpg:                 aka "Greg Kurz <groug@free.fr>"
      # gpg:                 aka "Greg Kurz <gkurz@linux.vnet.ibm.com>"
      # gpg:                 aka "Gregory Kurz (Groug) <groug@free.fr>"
      # gpg:                 aka "[jpeg image of size 3330]"
      # 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: 2BD4 3B44 535E C0A7 9894  DBA2 02FC 3AEB 0101 DBC2
      * remotes/gkurz/tags/for-upstream:
        9pfs: proxy: assert if unmarshal fails
        9pfs: don't try to flush self and avoid QEMU hang on reset
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
    • Gerd Hoffmann's avatar
      add opengl_cflags to QEMU_CFLAGS · cc720a5d
      Gerd Hoffmann authored
      ... and drop OPENGL_CFLAGS from Makefiles.
      Signed-off-by: 's avatarGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1490079888-29029-1-git-send-email-kraxel@redhat.com
      Reviewed-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
    • Greg Kurz's avatar
      9pfs: proxy: assert if unmarshal fails · 262169ab
      Greg Kurz authored
      Replies from the virtfs proxy are made up of a fixed-size header (8 bytes)
      and a payload of variable size (maximum 64kb). When receiving a reply,
      the proxy backend first reads the whole header and then unmarshals it.
      If the header is okay, it then does the same operation with the payload.
      Since the proxy backend uses a pre-allocated buffer which has enough room
      for a header and the maximum payload size, marshalling should never fail
      with fixed size arguments. Any error here is likely to result from a more
      serious corruption in QEMU and we'd better dump core right away.
      This patch adds error checks where they are missing and converts the
      associated error paths into assertions.
      This should also address Coverity's complaints CID 1348519 and CID 1348520,
      about not always checking the return value of proxy_unmarshal().
      Signed-off-by: 's avatarGreg Kurz <groug@kaod.org>
      Reviewed-by: 's avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
    • Greg Kurz's avatar
      9pfs: don't try to flush self and avoid QEMU hang on reset · d5f2af7b
      Greg Kurz authored
      According to the 9P spec [*], when a client wants to cancel a pending I/O
      request identified by a given tag (uint16), it must send a Tflush message
      and wait for the server to respond with a Rflush message before reusing this
      tag for another I/O. The server may still send a completion message for the
      I/O if it wasn't actually cancelled but the Rflush message must arrive after
      QEMU hence waits for the flushed PDU to complete before sending the Rflush
      message back to the client.
      If a client sends 'Tflush tag oldtag' and tag == oldtag, QEMU will then
      allocate a PDU identified by tag, find it in the PDU list and wait for
      this same PDU to complete... i.e. wait for a completion that will never
      happen. This causes a tag and ring slot leak in the guest, and a PDU
      leak in QEMU, all of them limited by the maximal number of PDUs (128).
      But, worse, this causes QEMU to hang on device reset since v9fs_reset()
      wants to drain all pending I/O.
      This insane behavior is likely to denote a bug in the client, and it would
      deserve an Rerror message to be sent back. Unfortunately, the protocol
      allows it and requires all flush requests to suceed (only a Tflush response
      is expected).
      The only option is to detect when we have to handle a self-referencing
      flush request and report success to the client right away.
      [*] http://man.cat-v.org/plan_9/5/flushReported-by: 's avatarAl Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: 's avatarGreg Kurz <groug@kaod.org>
  3. 20 Mar, 2017 24 commits
  4. 19 Mar, 2017 3 commits
    • Paolo Bonzini's avatar
      configure: remove Cygwin · 732a8020
      Paolo Bonzini authored
      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: 's avatarPaolo Bonzini <pbonzini@redhat.com>
    • Stefano Stabellini's avatar
      xen: do not build backends for targets that do not support xen · 6b827cca
      Stefano Stabellini authored
      Change Makefile.objs to use CONFIG_XEN instead of CONFIG_XEN_BACKEND, so
      that the Xen backends are only built for targets that support Xen.
      Set CONFIG_XEN in the toplevel Makefile to ensure that files that are
      built only once pick up Xen support properly.
      Signed-off-by: 's avatarStefano Stabellini <stefano@aporeto.com>
      Tested-by: 's avatarGreg Kurz <groug@kaod.org>
      Reviewed-by: 's avatarGreg Kurz <groug@kaod.org>
      CC: pbonzini@redhat.com
      CC: peter.maydell@linaro.org
      CC: rth@twiddle.net
      CC: stefanha@redhat.com
      Message-Id: <1489694518-16978-1-git-send-email-sstabellini@kernel.org>
      Signed-off-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
    • Paolo Bonzini's avatar
      qemu-ga: obey LISTEN_PID when using systemd socket activation · 53fabd4b
      Paolo Bonzini authored
      qemu-ga's socket activation support was not obeying the LISTEN_PID
      environment variable, which avoids that a process uses a socket-activation
      file descriptor meant for its parent.
      Mess can for example ensue if a process forks a children before consuming
      the socket-activation file descriptor and therefore setting O_CLOEXEC
      on it.
      Luckily, qemu-nbd also got socket activation code, and its copy does
      support LISTEN_PID.  Some extra fixups are needed to ensure that the
      code can be used for both, but that's what this patch does.  The
      main change is to replace get_listen_fds's "consume" argument with
      the FIRST_SOCKET_ACTIVATION_FD macro from the qemu-nbd code.
      Cc: "Richard W.M. Jones" <rjones@redhat.com>
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: 's avatarDaniel P. Berrange <berrange@redhat.com>
      Signed-off-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
  5. 18 Mar, 2017 2 commits
    • Marek Vasut's avatar
      nios2: iic: Convert CPU prop to qom link · ebedf0f9
      Marek Vasut authored
      Add a const qom link between the CPU and the IIC instead
      of passing the CPU link through a qom property.
      Signed-off-by: 's avatarMarek Vasut <marex@denx.de>
      Reviewed-by: 's avatarMarkus Armbruster <armbru@redhat.com>
      Message-id: 20170317210627.23532-1-marex@denx.de
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Chris Wulff <crwulff@gmail.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Jeff Da Silva <jdasilva@altera.com>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Sandra Loosemore <sandra@codesourcery.com>
      Cc: Yves Vandervennet <yvanderv@altera.com>
      Reviewed-by: 's avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/xtensa/tags/20170317-xtensa' into staging · 96dd9c89
      Peter Maydell authored
      target/xtensa fixes for 2.9:
      - fix build failure when FDT support is not enabled;
      - correctly pass command line arguments to semihosting guests.
      # gpg: Signature made Fri 17 Mar 2017 18:14:01 GMT
      # gpg:                using RSA key 0x51F9CC91F83FA044
      # gpg: Good signature from "Max Filippov <filippov@cadence.com>"
      # gpg:                 aka "Max Filippov <max.filippov@cogentembedded.com>"
      # gpg:                 aka "Max Filippov <jcmvbkbc@gmail.com>"
      # Primary key fingerprint: 2B67 854B 98E5 327D CDEB  17D8 51F9 CC91 F83F A044
      * remotes/xtensa/tags/20170317-xtensa:
        target/xtensa: fix semihosting argc/argv implementation
        target/xtensa: xtfpga: load DTB only when FDT support is enabled
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
  6. 17 Mar, 2017 3 commits