1. 24 7月, 2018 1 次提交
  2. 04 7月, 2018 3 次提交
  3. 02 6月, 2018 1 次提交
  4. 04 5月, 2018 1 次提交
  5. 20 3月, 2018 1 次提交
    • M
      qapi: Replace qobject_to_X(o) by qobject_to(X, o) · 7dc847eb
      Max Reitz 提交于
      This patch was generated using the following Coccinelle script:
      
      @@
      expression Obj;
      @@
      (
      - qobject_to_qnum(Obj)
      + qobject_to(QNum, Obj)
      |
      - qobject_to_qstring(Obj)
      + qobject_to(QString, Obj)
      |
      - qobject_to_qdict(Obj)
      + qobject_to(QDict, Obj)
      |
      - qobject_to_qlist(Obj)
      + qobject_to(QList, Obj)
      |
      - qobject_to_qbool(Obj)
      + qobject_to(QBool, Obj)
      )
      
      and a bit of manual fix-up for overly long lines and three places in
      tests/check-qjson.c that Coccinelle did not find.
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      Reviewed-by: NAlberto Garcia <berto@igalia.com>
      Message-Id: <20180224154033.29559-4-mreitz@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      [eblake: swap order from qobject_to(o, X), rebase to master, also a fix
      to latent false-positive compiler complaint about hw/i386/acpi-build.c]
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7dc847eb
  6. 12 3月, 2018 1 次提交
    • T
      Polish the version strings containing the package version · 7e563bfb
      Thomas Huth 提交于
      Since commit 67a1de0d there is no space anymore between the
      version number and the parentheses when running configure with
      --with-pkgversion=foo :
      
       $ qemu-system-s390x --version
       QEMU emulator version 2.11.50(foo)
      
      But the space is included when building without that option
      when building from a git checkout:
      
       $ qemu-system-s390x --version
       QEMU emulator version 2.11.50 (v2.11.0-1494-gbec9c64e-dirty)
      
      The same confusion exists with the "query-version" QMP command.
      Let's fix this by introducing a proper QEMU_FULL_VERSION definition
      that includes the space and parentheses, while the QEMU_PKGVERSION
      should just cleanly contain the package version string itself.
      Note that this also changes the behavior of the "query-version" QMP
      command (the space and parentheses are not included there anymore),
      but that's supposed to be OK since the strings there are not meant
      to be parsed by other tools.
      
      Fixes: 67a1de0d
      Buglink: https://bugs.launchpad.net/qemu/+bug/1673373Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1518692807-25859-1-git-send-email-thuth@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      7e563bfb
  7. 03 3月, 2018 1 次提交
  8. 09 2月, 2018 5 次提交
  9. 08 8月, 2017 2 次提交
  10. 18 7月, 2017 2 次提交
  11. 20 6月, 2017 1 次提交
  12. 09 5月, 2017 2 次提交
  13. 27 4月, 2017 1 次提交
  14. 19 3月, 2017 1 次提交
    • P
      qemu-ga: obey LISTEN_PID when using systemd socket activation · 53fabd4b
      Paolo Bonzini 提交于
      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: NDaniel P. Berrange <berrange@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      53fabd4b
  15. 06 3月, 2017 1 次提交
    • S
      qga: add systemd socket activation support · 26de2296
      Stefan Hajnoczi 提交于
      AF_UNIX and AF_VSOCK listen sockets can be passed in by systemd on
      startup.  This allows systemd to manage the listen socket until the
      first client connects and between restarts.  Advantages of socket
      activation are that parallel startup of network services becomes
      possible and that unused daemons do not consume memory.
      
      The key to achieving this is the LISTEN_FDS environment variable, which
      is a stable ABI as shown here:
      https://www.freedesktop.org/wiki/Software/systemd/InterfacePortabilityAndStabilityChart/
      
      We could link against libsystemd and use sd_listen_fds(3) but it's easy
      to implement the tiny LISTEN_FDS ABI so that qemu-ga does not depend on
      libsystemd.  Some systems may not have systemd installed and wish to
      avoid the dependency.  Other init systems or socket activation servers
      may implement the same ABI without systemd involvement.
      
      Test as follows:
      
        $ cat ~/.config/systemd/user/qga.service
        [Unit]
        Description=qga
      
        [Service]
        WorkingDirectory=/tmp
        ExecStart=/path/to/qemu-ga --logfile=/tmp/qga.log --pidfile=/tmp/qga.pid --statedir=/tmp
      
        $ cat ~/.config/systemd/user/qga.socket
        [Socket]
        ListenStream=/tmp/qga.sock
      
        [Install]
        WantedBy=default.target
      
        $ systemctl --user daemon-reload
        $ systemctl --user start qga.socket
        $ nc -U /tmp/qga.sock
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      26de2296
  16. 05 3月, 2017 2 次提交
    • M
      qapi: Support multiple command registries per program · 1527badb
      Markus Armbruster 提交于
      The command registry encapsulates a single command list.  Give the
      functions using it a parameter instead.  Define suitable command lists
      in monitor, guest agent and test-qmp-commands.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <1488544368-30622-6-git-send-email-armbru@redhat.com>
      [Debugging turds buried]
      Reviewed-by: NEric Blake <eblake@redhat.com>
      1527badb
    • M
      qmp: Dumb down how we run QMP command registration · 05875687
      Markus Armbruster 提交于
      The way we get QMP commands registered is high tech:
      
      * qapi-commands.py generates qmp_init_marshal() that does the actual work
      
      * it also generates the magic to register it as a MODULE_INIT_QAPI
        function, so it runs when someone calls
        module_call_init(MODULE_INIT_QAPI)
      
      * main() calls module_call_init()
      
      QEMU needs to register a few non-qapified commands.  Same high tech
      works: monitor.c has its own qmp_init_marshal() along with the magic
      to make it run in module_call_init(MODULE_INIT_QAPI).
      
      QEMU also needs to unregister commands that are not wanted in this
      build's configuration (commit 5032a16d).  Simple enough:
      qmp_unregister_commands_hack().  The difficulty is to make it run
      after the generated qmp_init_marshal().  We can't simply run it in
      monitor.c's qmp_init_marshal(), because the order in which the
      registered functions run is indeterminate.  So qmp_init_marshal()
      registers qmp_unregister_commands_hack() separately.  Since
      registering *appends* to the list of registered functions, this will
      make it run after all the functions that have been registered already.
      
      I suspect it takes a long and expensive computer science education to
      not find this silly.
      
      Dumb it down as follows:
      
      * Drop MODULE_INIT_QAPI entirely
      
      * Give the generated qmp_init_marshal() external linkage.
      
      * Call it instead of module_call_init(MODULE_INIT_QAPI)
      
      * Except in QEMU proper, call new monitor_init_qmp_commands() that in
        turn calls the generated qmp_init_marshal(), registers the
        additional commands and unregisters the unwanted ones.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1488544368-30622-5-git-send-email-armbru@redhat.com>
      05875687
  17. 25 1月, 2017 1 次提交
  18. 01 11月, 2016 1 次提交
  19. 08 9月, 2016 2 次提交
  20. 07 6月, 2016 1 次提交
  21. 23 3月, 2016 2 次提交
  22. 21 3月, 2016 1 次提交
  23. 05 2月, 2016 1 次提交
    • P
      qga: Clean up includes · 4459bf38
      Peter Maydell 提交于
      Clean up includes so that osdep.h is included first and headers
      which it implies are not included manually.
      
      This commit was created with scripts/clean-includes.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1454089805-5470-9-git-send-email-peter.maydell@linaro.org
      4459bf38
  24. 26 11月, 2015 1 次提交
  25. 29 10月, 2015 1 次提交
  26. 20 10月, 2015 3 次提交