From: "Søren Sandmann Pedersen" <sandmann@cs.au.dk>
To: spice-devel@freedesktop.org, qemu-devel@nongnu.org
Cc: kraxel@redhat.com, "Søren Sandmann Pedersen" <ssp@redhat.com>
Subject: [Qemu-devel] [PATCH] Add new client_present and client capabilities fields to QXLRom
Date: Mon, 27 Aug 2012 13:20:38 -0400 [thread overview]
Message-ID: <1346088041-17062-2-git-send-email-sandmann@cs.au.dk> (raw)
In-Reply-To: <1346088041-17062-1-git-send-email-sandmann@cs.au.dk>
From: Søren Sandmann Pedersen <ssp@redhat.com>
The client_present field is a byte that is set of non-zero when a
client is connected and to zero when no client is connected.
The client_capabilities[58] array contains 464 bits that indicate the
capabilities of the client. Each bit corresponds to a
SPICE_DISPLAY_CAP_* capability. In particular, if the client has
capability C, then bit (C % 8) in byte (C / 8) is set. The capability
bits only have a defined meaning when a client is connected, ie., when
client_present is non-zero. The number 58 was chosen to fill out a
cache line in QXLRom.
A new QXL_INTERRUPT_CLIENT interrupt is defined, which will be raised
whenever a client connects or disconnects.
Finally, add a new QXL_REVISION_STABLE_V13 = 0x05 constant to indicate
the presence of these new features.
---
spice/qxl_dev.h | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index 1292767..a19cc67 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -49,6 +49,7 @@ enum {
QXL_REVISION_STABLE_V06=0x02,
QXL_REVISION_STABLE_V10=0x03,
QXL_REVISION_STABLE_V12=0x04,
+ QXL_REVISION_STABLE_V13=0x05,
};
#define QXL_DEVICE_ID_DEVEL 0x01ff
@@ -148,7 +149,9 @@ typedef struct SPICE_ATTR_PACKED QXLRom {
uint8_t slot_gen_bits;
uint8_t slot_id_bits;
uint8_t slot_generation;
- uint8_t padding[3]; /* Padding to 32bit align */
+ /* appended for qxl-5 */
+ uint8_t client_present;
+ uint8_t client_capabilities[58];
} QXLRom;
/* qxl-1 compat: fixed */
@@ -231,6 +234,7 @@ SPICE_RING_DECLARE(QXLReleaseRing, uint64_t, QXL_RELEASE_RING_SIZE);
#define QXL_INTERRUPT_CURSOR (1 << 1)
#define QXL_INTERRUPT_IO_CMD (1 << 2)
#define QXL_INTERRUPT_ERROR (1 << 3)
+#define QXL_INTERRUPT_CLIENT (1 << 4)
/* qxl-1 compat: append only */
typedef struct SPICE_ATTR_PACKED QXLRam {
--
1.7.4
next prev parent reply other threads:[~2012-08-27 17:18 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-27 17:20 [Qemu-devel] Add ability to advertise client capabilities to QXL device Søren Sandmann Pedersen
2012-08-27 17:20 ` Søren Sandmann Pedersen [this message]
2012-08-28 6:15 ` [Qemu-devel] [PATCH] Add new client_present and client capabilities fields to QXLRom Gerd Hoffmann
2012-08-29 0:58 ` Søren Sandmann
2012-08-29 6:00 ` Gerd Hoffmann
2012-08-29 21:05 ` Søren Sandmann
2012-08-29 10:14 ` [Qemu-devel] [Spice-devel] " Alon Levy
2012-08-29 20:51 ` Søren Sandmann
2012-08-30 5:34 ` Gerd Hoffmann
2012-08-30 16:03 ` Søren Sandmann
2012-08-31 7:32 ` Gerd Hoffmann
2012-09-02 21:35 ` [Qemu-devel] New patches to add capabilities to spice and qxl Søren Sandmann Pedersen
2012-09-02 21:35 ` [Qemu-devel] [PATCH-v2 spice-protocol 1/2] Add A8 surface capability Søren Sandmann Pedersen
2012-09-02 21:35 ` [Qemu-devel] [PATCH-v2 spice-protocol 2/2] Add new client_present and client capabilities fields to QXLRom Søren Sandmann Pedersen
2012-09-02 21:35 ` [Qemu-devel] [PATCH-v2 spice-gtk] Advertise SPICE_DISPLAY_CAP_A8_SURFACE Søren Sandmann Pedersen
2012-09-02 21:35 ` [Qemu-devel] [PATCH-v2 spice 1/2] Set a8 capability in the QXL device if supported by the client Søren Sandmann Pedersen
2012-09-03 7:34 ` Alon Levy
2012-09-03 17:33 ` Søren Sandmann
2012-09-03 17:49 ` Søren Sandmann
2012-09-03 17:53 ` [Qemu-devel] [PATCH 1/5] client: Advertise A8_SURFACE capability Søren Sandmann
2012-09-03 17:53 ` [Qemu-devel] [PATCH 2/5] Add new set_client_capabilities() interface to QXLInstance Søren Sandmann
2012-09-03 17:53 ` [Qemu-devel] [PATCH 3/5] Process outstanding commands in the ring after changing capability bits Søren Sandmann
2012-09-03 18:31 ` [Qemu-devel] [Spice-devel] " Alon Levy
2012-09-03 17:53 ` [Qemu-devel] [PATCH 4/5] Set a8 capability in the QXL device if supported by the client Søren Sandmann
2012-09-03 17:53 ` [Qemu-devel] [PATCH 5/5] Bump spice.h version number to 0.11.4 Søren Sandmann
2012-09-02 21:35 ` [Qemu-devel] [PATCH-v2 spice 2/2] " Søren Sandmann Pedersen
2012-09-02 21:35 ` [Qemu-devel] [PATCH-v2 qemu] qxl: Add set_client_capabilities() interface to QXLInterface Søren Sandmann Pedersen
2012-09-03 17:36 ` [Qemu-devel] [Spice-devel] " Søren Sandmann
2012-09-03 17:40 ` [Qemu-devel] [PATCH] " Søren Sandmann
2012-09-03 18:21 ` Alon Levy
2012-09-04 10:12 ` [Qemu-devel] [PATCH-v2 qemu] " Gerd Hoffmann
2012-09-04 14:14 ` [Qemu-devel] [PATCH 1/2] " Søren Sandmann
2012-09-04 14:14 ` [Qemu-devel] [PATCH 2/2] Remove #ifdef QXL_COMMAND_FLAG_COMPAT_16BPP Søren Sandmann
2012-09-04 14:46 ` [Qemu-devel] [PATCH 1/2] qxl: Add set_client_capabilities() interface to QXLInterface Gerd Hoffmann
2012-08-27 17:20 ` [Qemu-devel] [PATCH] Add new set_client_capabilities() interface to QXLInstance Søren Sandmann Pedersen
2012-08-27 17:20 ` [Qemu-devel] [PATCH] qxl: Add set_client_capabilities() interface to QXLInterface Søren Sandmann Pedersen
2012-08-28 6:19 ` Gerd Hoffmann
2012-08-27 17:20 ` [Qemu-devel] Add ability to advertise client capabilities to QXL device Søren Sandmann Pedersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1346088041-17062-2-git-send-email-sandmann@cs.au.dk \
--to=sandmann@cs.au.dk \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=spice-devel@freedesktop.org \
--cc=ssp@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.