[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 359218: kbd-state: don't block auto-repeat ev
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 359218: kbd-state: don't block auto-repeat events |
Date: |
Mon, 25 Feb 2019 04:48:46 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 35921860156e39f17ffd7e18d0f84d2396a6e8f4
https://github.com/qemu/qemu/commit/35921860156e39f17ffd7e18d0f84d2396a6e8f4
Author: Gerd Hoffmann <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M ui/kbd-state.c
Log Message:
-----------
kbd-state: don't block auto-repeat events
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Message-id: address@hidden
Commit: be812c0ab7d5ab741d0d87387a75a0e8bb6461e7
https://github.com/qemu/qemu/commit/be812c0ab7d5ab741d0d87387a75a0e8bb6461e7
Author: Lukáš Hrázký <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M hw/display/qxl.c
M include/ui/spice-display.h
M ui/spice-core.c
M ui/spice-display.c
Log Message:
-----------
spice: set device address and device display ID in QXL interface
Calls the new SPICE QXL interface function spice_qxl_set_device_info to
set the hardware address of the graphics device represented by the QXL
interface (e.g. a PCI path) and the device display IDs (the IDs of the
device's monitors that belong to this QXL interface).
Also stops using the deprecated spice_qxl_set_max_monitors, the new
interface function replaces it.
Signed-off-by: Lukáš Hrázký <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: d51b8cb9479d369f85f40af812be0b7cef5bc6fd
https://github.com/qemu/qemu/commit/d51b8cb9479d369f85f40af812be0b7cef5bc6fd
Author: Gerd Hoffmann <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M ui/sdl2-input.c
Log Message:
-----------
sdl2: drop qemu_input_event_send_key_qcode call
qkbd_state_key_event() does that for us.
Fixes: 07333e1ca3 kbd-state: use state tracker for sdl2
Reported-by: BALATON Zoltan <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Tested-by: BALATON Zoltan <address@hidden>
Message-id: address@hidden
Commit: ac38378950328d8ed808aae66733716a71900f2a
https://github.com/qemu/qemu/commit/ac38378950328d8ed808aae66733716a71900f2a
Author: Thomas Huth <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M ui/gtk.c
Log Message:
-----------
ui/gtk: Fix the license information
The license information in this file is very messy. A short note at
the beginning says GPL first, but the long boilerplate code then
talks about "GNU Lesser General Public License version 2.0". First,
there is no such version of the "GNU Lesser GPL", it only started with
version 2.1. In version 2.0, it was still called "GNU Library GPL"
instead. Second, you can easily get the license of this file wrong
if you only quickly glance at the long boilerplate code.
Anyway, looking at the text of the LGPL (see COPYING.LIB in the top
directory), the license clearly states in section "3." that one should
rather replace the license information with the GPL information in
such a case of a mixture instead. Thus let's clean up the confusing
statements and use the proper GPL text only.
Signed-off-by: Thomas Huth <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Message-id: address@hidden
[ kraxel: s/v2/v2+/ as requested by Daniel ]
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 805189ab14380a963db445aa083d5049c523486c
https://github.com/qemu/qemu/commit/805189ab14380a963db445aa083d5049c523486c
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M chardev/spice.c
Log Message:
-----------
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 <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: a2dc3c8ecb5c1c5c42dec9ce76db3832a65128ac
https://github.com/qemu/qemu/commit/a2dc3c8ecb5c1c5c42dec9ce76db3832a65128ac
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M chardev/spice.c
M chardev/trace-events
Log Message:
-----------
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 <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 83f7180227a4c383e00fcbc0c079805557a657c8
https://github.com/qemu/qemu/commit/83f7180227a4c383e00fcbc0c079805557a657c8
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M ui/spice-core.c
Log Message:
-----------
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 <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 79216718f921505347bbfc61a4161adef6185cf2
https://github.com/qemu/qemu/commit/79216718f921505347bbfc61a4161adef6185cf2
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M ui/spice-core.c
Log Message:
-----------
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 <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 5b1638bc49b7bb5686a3351611c24ab7863306f1
https://github.com/qemu/qemu/commit/5b1638bc49b7bb5686a3351611c24ab7863306f1
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M ui/spice-core.c
Log Message:
-----------
spice: do not stop spice if VM is paused
spice_server_vm_start/stop() was added to help migration state (commit
f5bb039c6d97ef3e664094eab3c9a4dc1824ed73).
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 <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 24fa7da3ca6a6e385e50befa3774b7d427594ce4
https://github.com/qemu/qemu/commit/24fa7da3ca6a6e385e50befa3774b7d427594ce4
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M chardev/spice.c
A include/chardev/spice.h
Log Message:
-----------
char: move SpiceChardev and open_spice_port() to spice.h header
This will allow easier subclassing of SpiceChardev, in upcoming
"display: add -display spice-app launching external application"
patch.
Signed-off-by: Marc-André Lureau <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 8afbff1652eb156b1482a577513061bd226d3cea
https://github.com/qemu/qemu/commit/8afbff1652eb156b1482a577513061bd226d3cea
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M chardev/spice.c
Log Message:
-----------
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 <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: f876b765ef177d93e4f7c976c8c14761ae9eeaf1
https://github.com/qemu/qemu/commit/f876b765ef177d93e4f7c976c8c14761ae9eeaf1
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M configure
Log Message:
-----------
build-sys: add gio-2.0 check
GIO is required for the "-display spice-app" backend.
Signed-off-by: Marc-André Lureau <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 42176d7703c6bbf61d7e8496adabc6176cde2b8c
https://github.com/qemu/qemu/commit/42176d7703c6bbf61d7e8496adabc6176cde2b8c
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M qapi/ui.json
Log Message:
-----------
qapi: document DisplayType enum
Signed-off-by: Marc-André Lureau <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 4c77ee12da78d0e2222ac9f6fd067f1d451da5cb
https://github.com/qemu/qemu/commit/4c77ee12da78d0e2222ac9f6fd067f1d451da5cb
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-21 (Thu, 21 Feb 2019)
Changed paths:
M ui/spice-core.c
Log Message:
-----------
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 <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: d8aec9d9f129e6879ae0669623981892deff86f2
https://github.com/qemu/qemu/commit/d8aec9d9f129e6879ae0669623981892deff86f2
Author: Marc-André Lureau <address@hidden>
Date: 2019-02-22 (Fri, 22 Feb 2019)
Changed paths:
M qapi/ui.json
M qemu-options.hx
M ui/Makefile.objs
A ui/spice-app.c
Log Message:
-----------
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 <address@hidden>
Tested-by: Victor Toso <address@hidden>
Message-id: address@hidden
[ kraxel: squash incremental fix ]
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 8a4c08b16187c238f05aa783c8deedb8099e940d
https://github.com/qemu/qemu/commit/8a4c08b16187c238f05aa783c8deedb8099e940d
Author: Peter Maydell <address@hidden>
Date: 2019-02-25 (Mon, 25 Feb 2019)
Changed paths:
M chardev/spice.c
M chardev/trace-events
M configure
M hw/display/qxl.c
A include/chardev/spice.h
M include/ui/spice-display.h
M qapi/ui.json
M qemu-options.hx
M ui/Makefile.objs
M ui/gtk.c
M ui/kbd-state.c
M ui/sdl2-input.c
A ui/spice-app.c
M ui/spice-core.c
M ui/spice-display.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/kraxel/tags/ui-20190222-pull-request'
into staging
ui: add support for -display spice-app
ui: gtk+sdl bugfixes.
# gpg: Signature made Fri 22 Feb 2019 07:53:13 GMT
# gpg: using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <address@hidden>" [full]
# gpg: aka "Gerd Hoffmann <address@hidden>" [full]
# gpg: aka "Gerd Hoffmann (private) <address@hidden>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/ui-20190222-pull-request:
display: add -display spice-app launching a Spice client
spice: use a default name for the server
qapi: document DisplayType enum
build-sys: add gio-2.0 check
char: register spice ports after spice started
char: move SpiceChardev and open_spice_port() to spice.h header
spice: do not stop spice if VM is paused
spice: merge options lists
spice: avoid spice runtime assert
char/spice: discard write() if backend is disconnected
char/spice: trigger HUP event
ui/gtk: Fix the license information
sdl2: drop qemu_input_event_send_key_qcode call
spice: set device address and device display ID in QXL interface
kbd-state: don't block auto-repeat events
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/8eb29f1bf5a9...8a4c08b16187
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 359218: kbd-state: don't block auto-repeat events,
Peter Maydell <=