<feed xmlns='http://www.w3.org/2005/Atom'>
<title>spice-protocol.git/spice, branch 0.8</title>
<subtitle>spice-protocol</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/'/>
<entry>
<title>Revert "add QXL_SURF_FLAG_GUEST_MEM for allocating surfaces on guest memory"</title>
<updated>2011-11-10T13:55:45+00:00</updated>
<author>
<name>Alon Levy</name>
<email>alevy@redhat.com</email>
</author>
<published>2011-11-10T13:55:45+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=534d8ede7a7d0c077ff63dff2c14c3efaf8ea20c'/>
<id>534d8ede7a7d0c077ff63dff2c14c3efaf8ea20c</id>
<content type='text'>
This reverts commit 2dfea386b3550520ee4a2323a2c10f40b947c5b8.

local commit accidentally pushed doing a "git push" instead of a
"git push master:master", reverting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 2dfea386b3550520ee4a2323a2c10f40b947c5b8.

local commit accidentally pushed doing a "git push" instead of a
"git push master:master", reverting.
</pre>
</div>
</content>
</entry>
<entry>
<title>add QXL_SURF_FLAG_GUEST_MEM for allocating surfaces on guest memory</title>
<updated>2011-10-01T18:21:56+00:00</updated>
<author>
<name>Alon Levy</name>
<email>alevy@redhat.com</email>
</author>
<published>2011-10-01T16:01:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=2dfea386b3550520ee4a2323a2c10f40b947c5b8'/>
<id>2dfea386b3550520ee4a2323a2c10f40b947c5b8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Release 0.8.2</title>
<updated>2011-09-19T08:37:19+00:00</updated>
<author>
<name>Yonit Halperin</name>
<email>yhalperi@redhat.com</email>
</author>
<published>2011-09-13T09:23:20+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=abfdf4d8abf95d003678af5df814f3b1be1fd092'/>
<id>abfdf4d8abf95d003678af5df814f3b1be1fd092</id>
<content type='text'>
semi-seamless migration RHBZ 738262
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
semi-seamless migration RHBZ 738262
</pre>
</div>
</content>
</entry>
<entry>
<title>qxl_dev: add third revision V10</title>
<updated>2011-07-18T08:20:40+00:00</updated>
<author>
<name>Alon Levy</name>
<email>alevy@redhat.com</email>
</author>
<published>2011-06-24T10:47:23+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=156490faa13f1ad95bf7b3af4c22449748505b09'/>
<id>156490faa13f1ad95bf7b3af4c22449748505b09</id>
<content type='text'>
The driver will check for this revision or higher to know that the device
supports async io, the two S3 related ios, and the interrupts IO_CMD and ERROR.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver will check for this revision or higher to know that the device
supports async io, the two S3 related ios, and the interrupts IO_CMD and ERROR.
</pre>
</div>
</content>
</entry>
<entry>
<title>qxl_dev: add QXL_INTERRUPT_ERROR</title>
<updated>2011-07-18T08:20:39+00:00</updated>
<author>
<name>Alon Levy</name>
<email>alevy@redhat.com</email>
</author>
<published>2011-06-30T13:03:31+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=54253a6d545e07d9f16d871aa254d0aa4f779a7f'/>
<id>54253a6d545e07d9f16d871aa254d0aa4f779a7f</id>
<content type='text'>
The interrupt is used to notify the guest driver it did an error in
the last io operation. It can be left unhandled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The interrupt is used to notify the guest driver it did an error in
the last io operation. It can be left unhandled.
</pre>
</div>
</content>
</entry>
<entry>
<title>add QXL_IO_FLUSH_{SURFACES,RELEASE} for sleep (S3) support</title>
<updated>2011-07-18T08:20:39+00:00</updated>
<author>
<name>Alon Levy</name>
<email>alevy@redhat.com</email>
</author>
<published>2011-05-22T11:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=49808025e7da2f9067d98b6fad730dbd63a4589d'/>
<id>49808025e7da2f9067d98b6fad730dbd63a4589d</id>
<content type='text'>
related RHBZ: 688883

Guest initiated sleep looks like this:

 Guest:
  (0) stop putting new commands into the rings
  (1) QXL_IO_FLUSH_SURFACES
      qxl calls flush_surfaces(), spice-server flushes command rings and
      renders all surfaces, thereby flushing state to device memory.
  (2) QXL_IO_DESTROY_ALL_SURFACES
      zap surfaces
  (3) QXL_IO_FLUSH_RELEASE
      push release queue head into the release ring, so the guest
      will see it and can release everything.
  (4) tell acpi to reset
 Qemu:
  (5) qxl_reset_handler
 Guest:
  (6) sends surface create commands

The QXL_IO_FLUSH_SURFACES is an optimization, to reduce vmexits. It is used to
 flush both command rings and update all surfaces at once (equivalent to
 UPDATE_AREA X NUM_ACTIVE_SURFACES)

 destroy all surfaces to release resources but not destroy the guest side surfaces
 get device to flush all server released resources to the release ring (could use multiple
  calls to OOM - but this is not well defined, would need to loop)
 After (1) there will be no memory allocated on the pci bars.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
related RHBZ: 688883

Guest initiated sleep looks like this:

 Guest:
  (0) stop putting new commands into the rings
  (1) QXL_IO_FLUSH_SURFACES
      qxl calls flush_surfaces(), spice-server flushes command rings and
      renders all surfaces, thereby flushing state to device memory.
  (2) QXL_IO_DESTROY_ALL_SURFACES
      zap surfaces
  (3) QXL_IO_FLUSH_RELEASE
      push release queue head into the release ring, so the guest
      will see it and can release everything.
  (4) tell acpi to reset
 Qemu:
  (5) qxl_reset_handler
 Guest:
  (6) sends surface create commands

The QXL_IO_FLUSH_SURFACES is an optimization, to reduce vmexits. It is used to
 flush both command rings and update all surfaces at once (equivalent to
 UPDATE_AREA X NUM_ACTIVE_SURFACES)

 destroy all surfaces to release resources but not destroy the guest side surfaces
 get device to flush all server released resources to the release ring (could use multiple
  calls to OOM - but this is not well defined, would need to loop)
 After (1) there will be no memory allocated on the pci bars.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add async I/O commands.</title>
<updated>2011-07-18T08:20:39+00:00</updated>
<author>
<name>Gerd Hoffmann</name>
<email>kraxel@redhat.com</email>
</author>
<published>2011-06-22T08:46:18+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=9601a6353b1bd3262a464a12df5e0984c8ae7029'/>
<id>9601a6353b1bd3262a464a12df5e0984c8ae7029</id>
<content type='text'>
Add async versions of the I/O commands which do not block and instead
raise the new QXL_INTERRUPT_IO_CMD when done.

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add async versions of the I/O commands which do not block and instead
raise the new QXL_INTERRUPT_IO_CMD when done.

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol: add SPICE_{PLAYBACK,RECORD}_CAP_VOLUME caps</title>
<updated>2011-07-18T08:20:39+00:00</updated>
<author>
<name>Marc-André Lureau</name>
<email>marcandre.lureau@redhat.com</email>
</author>
<published>2011-06-22T09:55:44+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=ad3cc860a36d463bf16dbfb5fe0ac5b28a874c2f'/>
<id>ad3cc860a36d463bf16dbfb5fe0ac5b28a874c2f</id>
<content type='text'>
These changes the protocol the following way:

When the client announces it has SPICE_PLAYBACK_CAP_VOLUME, the server
can send PlaybackChannel.{volume,mute} messages to notify of volume
changes (respectively for RECORD).

If the client doesn't implement SPICE_PLAYBACK_CAP_VOLUME, the server can
handle the volume changes the way it prefers, for example, ignoring them or
applying volume effect on the server side etc..
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These changes the protocol the following way:

When the client announces it has SPICE_PLAYBACK_CAP_VOLUME, the server
can send PlaybackChannel.{volume,mute} messages to notify of volume
changes (respectively for RECORD).

If the client doesn't implement SPICE_PLAYBACK_CAP_VOLUME, the server can
handle the volume changes the way it prefers, for example, ignoring them or
applying volume effect on the server side etc..
</pre>
</div>
</content>
</entry>
<entry>
<title>spice: enums.h regenerated</title>
<updated>2011-07-18T08:20:39+00:00</updated>
<author>
<name>Marc-André Lureau</name>
<email>marcandre.lureau@redhat.com</email>
</author>
<published>2011-06-17T22:10:32+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=e2d6494b26958bf36d9e0eda4609da8f14e2dc31'/>
<id>e2d6494b26958bf36d9e0eda4609da8f14e2dc31</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>protocol: use packed-start/end to pack structures</title>
<updated>2011-07-18T08:20:07+00:00</updated>
<author>
<name>Christophe Fergeau</name>
<email>cfergeau@redhat.com</email>
</author>
<published>2011-04-11T10:56:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/spice-protocol.git/commit/?id=2257ca24ef0c91685a8bd4cf41d383b522dd9c42'/>
<id>2257ca24ef0c91685a8bd4cf41d383b522dd9c42</id>
<content type='text'>
spice-protocol comes with 2 headers to handle structure packing,
but controller_prot.h and foreign_menu_prot were both using their
own preprocessor definitions to handle packing. It's better to have
structure packing macros centralized since how it's done varies
between compilers, so it may need to change over time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
spice-protocol comes with 2 headers to handle structure packing,
but controller_prot.h and foreign_menu_prot were both using their
own preprocessor definitions to handle packing. It's better to have
structure packing macros centralized since how it's done varies
between compilers, so it may need to change over time.
</pre>
</div>
</content>
</entry>
</feed>
