Skip to content

Commits

Permalink
spice
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Feb 9, 2019

  1. display: add -display spice-app launching a Spice client

    Add a new display backend that will configure Spice to allow a remote
    client to control QEMU in a similar fashion as other QEMU display
    backend/UI like GTK.
    
    For this to work, it will set up Spice server with a unix socket, and
    register a VC chardev that will be exposed as Spice ports. A QMP
    monitor is also exposed as a Spice port, this allows the remote client
    fuller qemu control and state handling.
    
    - doesn't handle VC set_echo() - this doesn't seem a strong
      requirement, very few front-end use it
    - spice options can be tweaked with other -spice arguments
    - Windows support shouldn't be hard to do, but will probably use a TCP
      port instead
    - we may want to watch the child process to quit automatically if it
      crashed
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    d7cd418 View commit details
    Browse the repository at this point in the history
  2. spice: use a default name for the server

    If no -name is given, let's use a friendly "QEMU version" server
    name. This is sometime exposed on spice client side, for example on
    remote-viewer title.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    eed062a View commit details
    Browse the repository at this point in the history
  3. qapi: document DisplayType enum

    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    2720eae View commit details
    Browse the repository at this point in the history
  4. build-sys: add gio-2.0 check

    GIO is required for the -display app backend.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    19086b7 View commit details
    Browse the repository at this point in the history
  5. char: register spice ports after spice started

    Spice port registration is delayed until the server is started. But
    ports created after are not being registered. If the server is already
    started, do vmc_register_interface() to register it from
    qemu_chr_open_spice_port().
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    592b8ef View commit details
    Browse the repository at this point in the history
  6. char: move SpiceChardev and open_spice_port() to spice.h header

    This will allow easier subclassing of SpiceChardev, in upcoming
    "display: add -display app launching external application" patch.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    618782b View commit details
    Browse the repository at this point in the history
  7. spice: do not stop spice if VM is paused

    spice_server_vm_start/stop() was added to help migration state (commit
    f5bb039).
    
    However, a paused VM could keep running the spice server. This will
    allow a Spice client to keep sending commands to a spice chardev. This
    allows to stop/cont a VM from a Spice monitor port. Character
    devices (vdagent/usb/smartcard/..) should not read from Spice when the
    VM is paused.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    e3575a3 View commit details
    Browse the repository at this point in the history
  8. spice: merge options lists

    Passing several -spice options to qemu command line, or calling
    several time qemu_opts_set() will ignore all but the first option
    list. Since the spice server is a singleton, it makes sense to merge
    all the options, the last value being the one taken into account.
    
    This changes the behaviour from, for ex:
    $ qemu... -spice port=5900 -spice port=5901 -> port: 5900
    to:
    $ qemu... -spice port=5900 -spice port=5901 -> port: 5901
    
    (if necessary we could instead produce an error when an option is
    given twice, although this makes handling default values and such more
    complicated)
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    4131188 View commit details
    Browse the repository at this point in the history
  9. spice: avoid spice runtime assert

    The Spice server doesn't like to be started or stopped twice . It
    aborts with:
    
    (process:6191): Spice-ERROR **: 19:29:35.912: red-worker.c:623:handle_dev_start: assertion `!worker->running' failed
    
    It's easy to avoid that situation since qemu spice_display_is_running
    tracks the server state.
    
    After the commit "spice: do not stop spice if VM is paused", it will
    be possible to pause and resume the VM, and this will call
    qemu_spice_display_start() twice. The easiest is to add a check for
    spice_display_is_running with this patch to avoid the assert.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    e2cb27b View commit details
    Browse the repository at this point in the history
  10. char/spice: discard write() if backend is disconnected

    Most chardev backend handle write() as discarded data if underlying
    system is disconnected. For unknown historical reasons, the Spice
    backend has "reliable" write: it will wait until the client end is
    reconnected to do further successful write().
    
    To decide whether it make sense to wait until the client is
    reconnected (or queue the writes), let's review Spice chardev usage
    and handling of a disconnected client:
    
     * spice vdagent
       The agents reopen the virtio port on disconnect. In qemu side,
       virtio_serial_close() will also discard pending data.
    
     * usb redirection
       A disconnect creates a device disconnection.
    
     * smartcard emulation
       Data is discarded in passthru_apdu_from_guest().
    
       (Spice doesn't explicitly open the smartcard char device until
       upcoming 0.14.2, commit 69a5cfc74131ec0459f2eb5a231139f5a69a8037)
    
     * spice webdavd
       The daemon will restart the service, and reopen the virtio port.
    
     * spice ports (serial console, qemu monitor..)
       Depends on the associated device or usage.
    
       - serial, may be throttled or discarded on write, depending on
         device
    
       - QMP/HMP monitor have some CLOSED event handling, but want to
         flush the write, which will finish when a new client connects.
    
    On disconnect/reconnect, the client starts with fresh sessions. If it
    is a seamless migration, the client disconnects after the source
    migrated. The handling of source disconnect in qemu is thus irrelevant
    for the Spice session migration.
    
    For all these use cases, it is better to discard writes when the
    client is disconnected, and require the vm-side device/agent to behave
    correctly on CHR_EVENT_CLOSED, to stop reading and writing from
    the spice chardev.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    4cfa9ee View commit details
    Browse the repository at this point in the history
  11. char/spice: trigger HUP event

    Inform the front-end of disconnected state (spice client
    disconnected).
    
    This will wakeup the source handler immediately, so it can detect the
    disconnection asap.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Feb 9, 2019
    Copy the full SHA
    143bc06 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2019

  1. Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' …

    …into staging
    
    More work towards libslirp
    
    Marc-André Lureau (27):
      slirp: generalize guestfwd with a callback based approach
      net/slirp: simplify checking for cmd: prefix
      net/slirp: free forwarding rules on cleanup
      net/slirp: fix leaks on forwarding rule registration error
      slirp: add callbacks for timer
      slirp: replace trace functions with DEBUG calls
      slirp: replace QEMU_PACKED with SLIRP_PACKED
      slirp: replace most qemu socket utilities with slirp own version
      slirp: replace qemu_set_nonblock()
      slirp: add unregister_poll_fd() callback
      slirp: replace qemu_notify_event() with a callback
      slirp: move QEMU state saving to a separate unit
      slirp: do not include qemu headers in libslirp.h public API header
      slirp: improve windows headers inclusion
      slirp: add slirp own version of pstrcpy
      slirp: remove qemu timer.h dependency
      slirp: remove now useless QEMU headers inclusions
      slirp: replace net/eth.h inclusion with own defines
      slirp: replace qemu qtailq with slirp own copy
      slirp: replace remaining qemu headers dependency
      slirp: prefer c99 types over BSD kind
      slirp: improve send_packet() callback
      slirp: replace global polling with per-instance & notifier
      slirp: remove slirp_instances list
      slirp: use polling callbacks, drop glib requirement
      slirp: pass opaque to all callbacks
      slirp: API is extern C
    
    Peter Maydell (2):
      slirp: Avoid marking naturally packed structs as QEMU_PACKED
      slirp: Don't mark struct ipq or struct ipasfrag as packed
    
    Samuel Thibault (3):
      slirp: Avoid unaligned 16bit memory access
      slirp: replace QEMU_BUILD_BUG_ON with G_STATIC_ASSERT
      slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/
    
    # gpg: Signature made Thu 07 Feb 2019 14:02:41 GMT
    # gpg:                using RSA key E61DBB15D4172BDEC97E92D9DB550E89F0FA54F3
    # 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: E61D BB15 D417 2BDE C97E  92D9 DB55 0E89 F0FA 54F3
    
    * remotes/thibault/tags/samuel-thibault: (32 commits)
      slirp: API is extern C
      slirp: pass opaque to all callbacks
      slirp: use polling callbacks, drop glib requirement
      slirp: remove slirp_instances list
      slirp: replace global polling with per-instance & notifier
      slirp: improve send_packet() callback
      slirp: prefer c99 types over BSD kind
      slirp: replace remaining qemu headers dependency
      slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/
      slirp: replace QEMU_BUILD_BUG_ON with G_STATIC_ASSERT
      slirp: replace qemu qtailq with slirp own copy
      slirp: replace net/eth.h inclusion with own defines
      slirp: remove now useless QEMU headers inclusions
      slirp: remove qemu timer.h dependency
      slirp: add slirp own version of pstrcpy
      slirp: improve windows headers inclusion
      slirp: do not include qemu headers in libslirp.h public API header
      slirp: move QEMU state saving to a separate unit
      slirp: replace qemu_notify_event() with a callback
      slirp: add unregister_poll_fd() callback
      ...
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Feb 7, 2019
    Copy the full SHA
    e47f81b View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-4.0…

    …-pull-request' into staging
    
    - add new netlink type from linux v4.18 and v4.19
    - fix coverity warning (CID 1390634)
    - fix ioctl(SIOCGIFCONF) crash
    
    # gpg: Signature made Thu 07 Feb 2019 13:12:53 GMT
    # gpg:                using RSA key F30C38BD3F2FBE3C
    # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
    # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
    # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
    # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
    
    * remotes/vivier2/tags/linux-user-for-4.0-pull-request:
      linux-user: add new netlink types
      linux-user: Check sscanf return value in open_net_route()
      Fix linux-user crashes in ioctl(SIOCGIFCONF) when ifc_buf is NULL.
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Feb 7, 2019
    Copy the full SHA
    ff372bb View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-201902…

    …06' into staging
    
    qemu-sparc queue
    
    # gpg: Signature made Wed 06 Feb 2019 21:25:18 GMT
    # gpg:                using RSA key CC621AB98E82200D915CC9C45BC2C56FAE0F321F
    # gpg:                issuer "mark.cave-ayland@ilande.co.uk"
    # gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>" [full]
    # Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F
    
    * remotes/mcayland/tags/qemu-sparc-20190206:
      sun4m: pass initrd size to OpenBIOS via fw_cfg interface
      sun4u: add power_mem_read routine
      hw/sparc64: Create VGA device only if it has really been requested
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Feb 7, 2019
    Copy the full SHA
    d55451d View commit details
    Browse the repository at this point in the history
  4. Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pu…

    …ll-request' into staging
    
    Trivial patches:
    * Update copyright
    * Fix LGPL in target/moxie
    * configure portability fix
    * Drop useless inclusion of "hw/i386/pc.h"
    * Mark the cpu-cluster device with user_creatable = false
    * tsc210x: Fix building with no verbosity
    
    # gpg: Signature made Wed 06 Feb 2019 15:27:35 GMT
    # gpg:                using RSA key F30C38BD3F2FBE3C
    # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
    # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
    # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
    # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
    
    * remotes/vivier2/tags/trivial-patches-pull-request:
      hw/input/tsc210x: Fix building with no verbosity
      hw/cpu/cluster: Mark the cpu-cluster device with user_creatable = false
      hw/unicore32/puv3: Drop useless inclusion of "hw/i386/pc.h"
      hw/sparc64/sun4u: Drop useless inclusion of "hw/i386/pc.h"
      configure: Avoid non-portable 'test -o/-a'
      target/moxie: Fix LGPL information in the file headers
      qemu-common.h: Update copyright string for 2019
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Feb 7, 2019
    Copy the full SHA
    4f0444f View commit details
    Browse the repository at this point in the history
  5. Merge remote-tracking branch 'remotes/elmarco/tags/dump-pull-request'…

    … into staging
    
    Pull request
    
    # gpg: Signature made Wed 06 Feb 2019 14:57:54 GMT
    # gpg:                using RSA key DAE8E10975969CE5
    # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" [full]
    # gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.com>" [full]
    # Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5
    
    * remotes/elmarco/tags/dump-pull-request:
      dump: Set correct vaddr for ELF dump
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Feb 7, 2019
    Copy the full SHA
    632351e View commit details
    Browse the repository at this point in the history
  6. slirp: API is extern C

    Make it possible to use headers easily with C++ projects.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    ee261c0 View commit details
    Browse the repository at this point in the history
  7. slirp: pass opaque to all callbacks

    This is friendlier for FFI bindings.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    3e0fad3 View commit details
    Browse the repository at this point in the history
  8. slirp: use polling callbacks, drop glib requirement

    It would be legitimate to use libslirp without glib. Let's
    add_poll/get_revents pair of callbacks to provide the same
    functionality.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    deaeb3f View commit details
    Browse the repository at this point in the history
  9. slirp: remove slirp_instances list

    Now that polling is done per-instance, we don't need a global list of
    slirp instances.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    6e513a7 View commit details
    Browse the repository at this point in the history
  10. slirp: replace global polling with per-instance & notifier

    Remove hard-coded dependency on slirp in main-loop, and use a "poll"
    notifier instead. The notifier is registered per slirp instance.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    1ab67b9 View commit details
    Browse the repository at this point in the history
  11. slirp: improve send_packet() callback

    Use a more descriptive name for the callback.
    
    Reuse the SlirpWriteCb type. Wrap it to check that all data has been written.
    
    Return a ssize_t for potential error handling and data-loss reporting.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    625a526 View commit details
    Browse the repository at this point in the history
  12. slirp: prefer c99 types over BSD kind

    Replace:
    - u_char -> uint8_t
    - u_short -> uint16_t
    - u_long -> uint32_t
    - u_int -> unsigned
    - caddr_t -> char *
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    d7df0b4 View commit details
    Browse the repository at this point in the history
  13. slirp: replace remaining qemu headers dependency

    Except for the migration code which is gated by WITH_QEMU, only
    include our own headers, so libslirp can be built standalone.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    a9d8b3e View commit details
    Browse the repository at this point in the history
  14. slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/

    Only slirp actually needs it, and will need it along in libslirp.
    
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    sthibaul committed Feb 7, 2019
    Copy the full SHA
    4ffa632 View commit details
    Browse the repository at this point in the history
  15. slirp: replace QEMU_BUILD_BUG_ON with G_STATIC_ASSERT

    to remove another dependency on qemu.
    
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
    Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
    sthibaul committed Feb 7, 2019
    Copy the full SHA
    85a0e43 View commit details
    Browse the repository at this point in the history
  16. slirp: replace qemu qtailq with slirp own copy

    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    918f38d View commit details
    Browse the repository at this point in the history
  17. slirp: replace net/eth.h inclusion with own defines

    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    c1c5c0f View commit details
    Browse the repository at this point in the history
  18. slirp: remove now useless QEMU headers inclusions

    Some of those could have been squashed earlier, but it is easier to do
    it all here.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    e44203d View commit details
    Browse the repository at this point in the history
  19. slirp: remove qemu timer.h dependency

    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    759c5a6 View commit details
    Browse the repository at this point in the history
  20. slirp: add slirp own version of pstrcpy

    Remove a dependency on qemu util.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    d1c4b3e View commit details
    Browse the repository at this point in the history
  21. slirp: improve windows headers inclusion

    Our API usage requires Vista, set WIN32_LEAN_AND_MEAN to fix a number
    of issues (winsock2.h include order for ex, which is better to include
    first for legacy reasons).
    
    While at it, group redundants #ifndef _WIN32 blocks.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    ba1be96 View commit details
    Browse the repository at this point in the history
  22. slirp: do not include qemu headers in libslirp.h public API header

    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    35ee75f View commit details
    Browse the repository at this point in the history
  23. slirp: move QEMU state saving to a separate unit

    Make state saving optional: this will allow to build SLIRP without
    QEMU. (eventually, the vmstate helpers will be extracted, so an
    external project & process could save its state)
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    268c95d View commit details
    Browse the repository at this point in the history
  24. slirp: replace qemu_notify_event() with a callback

    Introduce a SlirpCb callback to kick the main io-thread.
    
    Add an intermediary sodrop() function that will call SlirpCb.notify
    callback when sbdrop() returns true.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    elmarco authored and sthibaul committed Feb 7, 2019
    Copy the full SHA
    c21d959 View commit details
    Browse the repository at this point in the history
Older