From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
MAINTAINERS | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 50435b8d2f..b429afba33 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2839,11 +2839,15 @@ D-Bus
M: Marc-André
From: Marc-André Lureau
Export the default consoles over the D-Bus chardev.
Signed-off-by: Marc-André Lureau
---
ui/dbus.c | 53 +
1 file changed, 53 insertions(+)
diff --git a/ui/dbus.c b/ui/dbus.c
index 38d6ccc607..97248ceadb 100644
--- a/
From: Marc-André Lureau
Add a new chardev backend which allows D-Bus client to handle the
chardev stream & events.
Signed-off-by: Marc-André Lureau
---
qapi/char.json| 27
include/chardev/char-socket.h | 2 +
include/qemu/dbus.h | 5 +
ui/dbus.h
From: Marc-André Lureau
Used in the next commit.
Signed-off-by: Marc-André Lureau
---
include/qemu/option.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/qemu/option.h b/include/qemu/option.h
index 306bf07575..bbd86e1c4e 100644
--- a/include/qemu/option.h
+++ b/include/qemu/opt
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
include/chardev/char-socket.h | 84 +++
chardev/char-socket.c | 58 +---
2 files changed, 85 insertions(+), 57 deletions(-)
create mode 100644 include/chardev/char-socket.h
From: Marc-André Lureau
Cover basic display interface usage. More cases to be added to cover
disconnections, multiple connections, corner cases. At this point, they
would be better written in Rust or Python though.
The proxy also covers reading the properties, since they are
automatically loaded
From: Marc-André Lureau
Expose the clipboard API over D-Bus. See the interface documentation for
further details.
Signed-off-by: Marc-André Lureau
---
ui/dbus.h| 14 ++
ui/dbus-clipboard.c | 457 +++
ui/dbus.c| 7 +
ui/dbus-di
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
tests/qtest/libqos/libqtest.h | 10 ++
tests/qtest/libqtest.c| 19 +++
2 files changed, 29 insertions(+)
diff --git a/tests/qtest/libqos/libqtest.h b/tests/qtest/libqos/libqtest.h
index a68dcd79d4..9e5
From: Marc-André Lureau
The following patches are going to use CharSocket as a base class for
sockets that are created with a given fd (without a given address).
Signed-off-by: Marc-André Lureau
---
chardev/char-socket.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
dif
From: Marc-André Lureau
The "dbus" display backend exports the QEMU consoles and other
UI-related interfaces over D-Bus.
By default, the connection is established on the session bus, but you
can specify a different bus with the "addr" option.
The backend takes the "org.qemu" service name, while
From: Marc-André Lureau
Add an option to use direct connections instead of via the bus. Clients
are accepted via QMP add_client.
This allows to provide the D-Bus display without a bus. It also
simplifies the testing setup (some CI have issues to setup a D-Bus bus
in a container).
Signed-off-by:
From: Marc-André Lureau
Further meson configuration tests are to be added based on the glib
version. Also correct the version reporting in the config log.
Signed-off-by: Marc-André Lureau
---
configure | 1 +
meson.build | 6 --
2 files changed, 5 insertions(+), 2 deletions(-)
diff --gi
From: Marc-André Lureau
Add a new -audio backend that accepts D-Bus clients/listeners to handle
playback & recording, to be exported via the -display dbus.
Example usage:
-audiodev dbus,in.mixing-engine=off,out.mixing-engine=off,id=dbus
-display dbus,audiodev=dbus
Signed-off-by: Marc-André Lure
From: Marc-André Lureau
Use the source XML document as single reference, importing its
documentation via the dbus-doc directive.
Signed-off-by: Marc-André Lureau
---
docs/interop/dbus-vmstate.rst | 52 ++-
backends/dbus-vmstate1.xml| 42 +
From: Marc-André Lureau
Wire up the dbus-display documentation. The interface and feature is
implemented next.
Signed-off-by: Marc-André Lureau
---
docs/interop/dbus-display.rst | 31 +++
docs/interop/dbus.rst | 2 ++
docs/interop/index.rst| 1 +
u
From: Marc-André Lureau
Similar to the one that exists for Spice, so we can investigate if
something is locked.
Signed-off-by: Marc-André Lureau
---
ui/console.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/ui/console.c b/ui/console.c
index 8d641b9530..c62a33b1ec 1006
From: Marc-André Lureau
Other backends can use it.
Signed-off-by: Marc-André Lureau
---
include/ui/console.h | 6 +++
include/ui/spice-display.h | 4 --
hw/display/qxl.c | 7 +++-
ui/spice-core.c| 50 -
ui/spice-display.c | 5 ++-
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
scripts/modinfo-collect.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/scripts/modinfo-collect.py b/scripts/modinfo-collect.py
index 4acb188c3e..61b90688c6 100755
--- a/scripts/modinfo-collect.py
+++ b/scripts/modinfo-colle
From: Marc-André Lureau
Although not used by the backend itself, use a common location for
documentation and sharing purposes.
Signed-off-by: Marc-André Lureau
---
{tests/qtest => backends}/dbus-vmstate1.xml | 0
tests/qtest/meson.build | 2 +-
2 files changed, 1 insertion(
From: Marc-André Lureau
Track multiple callers blocking requests.
Signed-off-by: Marc-André Lureau
---
ui/console.c | 17 +
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/ui/console.c b/ui/console.c
index 3c4012271c..8d641b9530 100644
--- a/ui/console.c
+++ b/ui
From: Marc-André Lureau
This will allow to have one GL context but a variable number of
listeners.
Signed-off-by: Marc-André Lureau
---
include/ui/console.h | 34 ++
include/ui/egl-context.h | 6 +++---
include/ui/gtk.h | 11 ++-
inclu
From: Marc-André Lureau
For now, only one listener can receive GL events. Let's dispatch to all
listeners. (preliminary check ensure there is a single listener now
during regitration, and in next patches, compatible listeners only)
Signed-off-by: Marc-André Lureau
---
ui/console.c | 58 +++
From: Marc-André Lureau
Add a new dbus-doc directive to import D-Bus interfaces documentation
from the introspection XML. The comments annotations follow the
gtkdoc/kerneldoc style, and should be formatted with reST.
Note: I realize after the fact that I was implementing those modules
with sphin
From: Marc-André Lureau
GraphicHw.gl_flushed was introduced to notify the
device (vhost-user-gpu) that the GL resources (the display scanout) are
no longer needed.
It was decoupled from QEMU own gl-blocking mechanism, but that
difference isn't helping. Instead, we can reuse QEMU gl-blocking and
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
ui/console.c | 7 +--
ui/egl-headless.c | 1 +
ui/gtk.c | 3 +++
ui/sdl2.c | 3 +++
ui/spice-display.c | 3 +++
5 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/ui/console.c b/ui/console.c
From: Marc-André Lureau
Currently, virgl initialization error is silent. Make it verbose instead.
(this is likely going to bug later on, as the device isn't fully
initialized)
Signed-off-by: Marc-André Lureau
---
hw/display/virtio-gpu-virgl.c | 1 +
1 file changed, 1 insertion(+)
diff --git
From: Marc-André Lureau
Add a new DisplayScanout structure to save the current scanout details.
This allows to attach later UI backends and set the scanout.
Introduce displaychangelistener_display_console() helper function to
handle the dpy_gfx_switch/gl_scanout() & dpy_gfx_update() calls.
Sign
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
include/ui/clipboard.h | 9 +
ui/clipboard.c | 7 +++
ui/gtk-clipboard.c | 3 +++
ui/vdagent.c | 12
ui/vnc-clipboard.c | 3 +++
ui/cocoa.m | 3 +++
6 files changed,
From: Marc-André Lureau
The next patch will make use of this function to dissociate
DisplayChangeListener from GL context.
Signed-off-by: Marc-André Lureau
---
include/ui/console.h | 3 +++
ui/console.c | 22 ++
2 files changed, 17 insertions(+), 8 deletions(-)
di
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
include/ui/clipboard.h | 10 ++
ui/clipboard.c | 15 +++
2 files changed, 25 insertions(+)
diff --git a/include/ui/clipboard.h b/include/ui/clipboard.h
index e590b453c8..2c6488c1ee 100644
--- a/include/ui/
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
hw/display/virtio-gpu-virgl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 0d87de65d7..73cb92c8d5 100644
--- a/hw/display/virtio-gpu-virgl.c
++
From: Marc-André Lureau
The Spice agent implements a simple serial mechanism to avoid clipboard
races between client & guest. See:
https://gitlab.freedesktop.org/spice/spice-protocol/-/commit/045a6978d6dbbf7046affc5c321fa8177c8cce56
Signed-off-by: Marc-André Lureau
---
include/ui/clipboard.h |
From: Marc-André Lureau
A remote client, such as Spice, will already avoid flooding the stream
by delaying the resize requests.
Signed-off-by: Marc-André Lureau
---
include/ui/console.h | 2 +-
ui/console.c | 5 +++--
ui/gtk.c | 2 +-
ui/sdl2.c| 2 +-
ui/spice-d
From: Marc-André Lureau
Use a QemuClipboardNotify union type for extendable clipboard events.
Signed-off-by: Marc-André Lureau
---
include/ui/clipboard.h | 32 ++--
ui/clipboard.c | 12
ui/gtk-clipboard.c | 20
ui/vdagen
From: Marc-André Lureau
Add meson feature options for Spice and Spice protocol, and move
detection logic out of configure.
Signed-off-by: Marc-André Lureau
---
configure | 48 ++---
meson.build | 27 -
chardev/me
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
ui/vdagent.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/ui/vdagent.c b/ui/vdagent.c
index 1f8fc77ee8..64e0017001 100644
--- a/ui/vdagent.c
+++ b/ui/vdagent.c
@@ -87,8 +87,10 @@ static const char *cap_n
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
---
meson.build | 5 +
ui/vdagent.c | 8
2 files changed, 13 insertions(+)
diff --git a/meson.build b/meson.build
index fe621413a4..e1cddf5139 100644
--- a/meson.build
+++ b/meson.build
@@ -1291,6 +1291,11 @@ config_host_da
From: Marc-André Lureau
Hi,
Both Spice and VNC are relatively complex and inefficient for local-only
display/console export.
The goal of this display backend is to export over D-Bus an interface close to
the QEMU internal APIs. Any -display or -audio backend should be possible to
implement exte
On 10/8/21 4:15 PM, Warner Losh wrote:
Similar to the same function in linux-user: this stops all the current tasks.
Signed-off-by: Stacey Son
Signed-off-by: Warner Losh
---
bsd-user/main.c | 9 +
bsd-user/qemu.h | 1 +
2 files changed, 10 insertions(+)
Reviewed-by: Richard Henders
On 10/8/21 4:15 PM, Warner Losh wrote:
Create dummy signal queueing function so we can start to integrate other
architectures (at the cost of signals remaining broken) to tame the
dependency graph a bit and to bring in signals in a more controlled
fashion. Log unimplemented events to it in the me
On 10/8/21 2:23 PM, Warner Losh wrote:
From: Guy Yur
Switch checks for !(flags & MAP_ANONYMOUS) with checks for fd != -1.
MAP_STACK and MAP_GUARD both require fd == -1 and don't require mapping
the fd either. Add analysis from Guy Yur detailing the different cases
for MAP_GUARD and MAP_STACK.
S
On 10/9/21 8:24 AM, Markus Armbruster wrote:
I noticed -cpu help printing enough trailing spaces to make the output
at least 84 characters wide. Looks ugly unless the terminal is wider.
Ugly or not, trailing spaces are stupid.
The culprit is this line in x86_cpu_list_entry():
qemu_printf(
On 10/8/21 2:23 PM, Warner Losh wrote:
From: Kyle Evans
jemalloc requires a working MAP_EXCL. Ensure that no page is double
mapped when specified. In addition, use guest_range_valid_untagged to
test for valid ranges of pages rather than an incomplete inlined version
of the test that might be wro
On 10/8/21 2:23 PM, Warner Losh wrote:
Convert DEBUG_MMAP to qemu_log CPU_LOG_PAGE.
Signed-off-by: Warner Losh
---
bsd-user/mmap.c | 53 +
1 file changed, 23 insertions(+), 30 deletions(-)
Reviewed-by: Richard Henderson
r~
I noticed -cpu help printing enough trailing spaces to make the output
at least 84 characters wide. Looks ugly unless the terminal is wider.
Ugly or not, trailing spaces are stupid.
The culprit is this line in x86_cpu_list_entry():
qemu_printf("x86 %-20s %-58s\n", name, desc);
This prints
(looks like Paolo's email bounced, so try again with cut and paste)
On Fri, Oct 8, 2021 at 5:15 PM Warner Losh wrote:
> To increase flexibility, only descend into *-user when that is
> configured. This allows *-user to selectively include directories based
> on the host OS which may not exist on
Paolo Bonzini writes:
> On 08/10/21 14:01, Markus Armbruster wrote:
>> Paolo, do you have something for QOM queued up already? If not, I'm
>> happy to take this through my tree.
>>
>
> I don't but I have enough stuff that I'll be sending a pull request
> shortly. So, queued, and while at it I
This copies the code implementing the policy from qapi/qmp-dispatch.c
to qapi/qobject-input-visitor.c. Tolerable, but if we acquire more
copes, we should look into factoring them out.
Signed-off-by: Markus Armbruster
---
docs/devel/qapi-code-gen.rst | 6 --
qapi/compat.json |
Several moons ago, Vladimir posted
Subject: [PATCH v2 3/3] qapi: deprecate drive-backup
Date: Wed, 5 May 2021 16:58:03 +0300
Message-Id: <20210505135803.67896-4-vsement...@virtuozzo.com>
https://lists.gnu.org/archive/html/qemu-devel/2021-05/msg01394.html
with this
TODO: We a
The next commit needs to access compat policy from the generic visitor
core. Move it there from qobject input and output visitor.
Signed-off-by: Markus Armbruster
Reviewed-by: Eric Blake
---
include/qapi/qobject-input-visitor.h | 4
include/qapi/qobject-output-visitor.h | 4
inclu
This is quite similar to commit 84ab008687 "qapi: Add feature flags to
struct members", only for enums instead of structs.
Special feature flag 'deprecated' is silently ignored there. This is
okay only because it will be implemented shortly.
Signed-off-by: Markus Armbruster
Reviewed-by: Eric Bl
The next commit will add feature flags to enum members. There's a
problem, though: query-qmp-schema shows an enum type's members as an
array of member names (SchemaInfoEnum member @values). If it showed
an array of objects with a name member, we could simply add more
members to these objects. Si
PATCH 1+2 add feature flags to enum members. Awkward due to an
introspection design mistake; see PATCH 1 for details.
PATCH 3+4 implement policy deprecated-input={reject,crash} for enum
values.
Policy deprecated-output=hide is not implemented, because we can't
hide a value without hiding the ent
On Thu, Sep 30, 2021 at 12:33:30PM +0200, David Hildenbrand (da...@redhat.com)
wrote:
>
>
> On 30.09.21 11:40, david.dai wrote:
> > On Wed, Sep 29, 2021 at 11:30:53AM +0200, David Hildenbrand
> > (da...@redhat.com) wrote:
> > >
> > > On 27.09.21 14:28, david.dai wrote:
> > > > On Mon, Sep 27,
Hi
On Sat, Oct 9, 2021 at 2:09 AM wrote:
> From: Marc-André Lureau
>
> This is now generated automatically by depfile.py.
>
> Signed-off-by: Marc-André Lureau
> ---
> docs/meson.build | 10 --
> tests/qapi-schema/meson.build | 5 -
> 2 files changed, 4 insertions(+),
Peter Krempa writes:
> On Mon, Sep 20, 2021 at 11:08:59 +0200, Markus Armbruster wrote:
>> Peter Krempa writes:
>>
>> > On Wed, Sep 15, 2021 at 21:24:21 +0200, Markus Armbruster wrote:
>> >> The next commit will add feature flags to enum members. There's a
>> >> problem, though: query-qmp-sche
Implement zerocopy on nocomp_send_write(), by making use of QIOChannel
zerocopy interface.
Change multifd_send_sync_main() so it can distinguish the last sync from
the setup and per-iteration ones, so a flush_zerocopy() can be called
at the last sync in order to make sure all RAM is sent before fi
Adds io_async_writev and io_async_flush as optional callback to QIOChannelClass,
allowing the implementation of asynchronous writes by subclasses.
How to use them:
- Write data using qio_channel_writev_zerocopu(),
- Wait write completion with qio_channel_flush_zerocopy().
Notes:
As some zerocopy
For CONFIG_LINUX, implement the new optional callbacks io_write_zerocopy and
io_flush_zerocopy on QIOChannelSocket, but enables it only when MSG_ZEROCOPY
feature is available in the host kernel, which is checked on
qio_channel_socket_connect_sync()
qio_channel_socket_writev() contents were moved t
This patch series intends to enable MSG_ZEROCOPY in QIOChannel, and make
use of it for multifd migration performance improvement.
Patch #1 creates new callbacks for QIOChannel, allowing the implementation
of zerocopy writing.
Patch #2 implements writev_zerocopy and flush_zerocopy on QIOChannelSoc
60 matches
Mail list logo