spice-protocol/spice
Alon Levy d1a6f3dfd8 qxl_dev.h: add client monitors configuration notification to guest
So far we have used the agent to notify the guest of a request to change
the monitors configurations (heads) on the qxl device. This patch introduces
a new interrupt and new fields in the qxl rom to notify the guest about
a new request, similarly to how physical hardware notifies the driver.

We compute crc over the monitors configuration to avoid host-write from a
following update while guest-read corruption. The update protocol is:

qemu:
  (2) fill QXLRom::client_monitors_config
  (3) raise QXL_INTERRUPT_CLIENT_MONITORS_CONFIG

guest:
  (1) clear QXL_INTERRUPT_CLIENT_MONITORS_CONFIG bit in irq status
  (2) read QXLRom::client_monitors_config
  (3) (verify-crc)? done : goto 2

If the interrupt mask is ~0 or 0, or does not have
QXL_INTERRUPT_CLIENT_MONITORS_CONFIG set, we also assume it doesn't support
this interrupt.
2012-09-12 16:54:08 +03:00
..
barrier.h define spice_mb MemoryBarrier for WIN64 2011-02-02 11:34:19 +02:00
controller_prot.h Add controller messages for USB redirection 2012-04-03 10:31:57 +02:00
end-packed.h mingw32: specify packing alignment to 1 byte, to override -mms-bitfield 2010-12-29 16:13:55 +01:00
enums.h inputs: add an INPUTS_KEY_SCANCODE message 2012-08-27 17:10:48 +02:00
error_codes.h Clean up and standardize header guards 2010-02-04 16:47:14 +01:00
foreign_menu_prot.h build: include spice/types.h in foreign_menu_prot.h 2012-02-23 22:18:34 +01:00
ipc_ring.h Fix up SPICE_SPICE typo 2010-02-04 18:10:50 +01:00
macros.h macros: define INLINE 2011-05-12 11:45:58 +03:00
Makefile.am Add QXL_ESCAPE_SET_CUSTOM_DISPLAY 2012-05-11 18:19:25 +02:00
protocol.h Add A8 surface capability 2012-09-02 15:14:56 -04:00
qxl_dev.h qxl_dev.h: add client monitors configuration notification to guest 2012-09-12 16:54:08 +03:00
qxl_windows.h Add QXL_ESCAPE_SET_CUSTOM_DISPLAY 2012-05-11 18:19:25 +02:00
start-packed.h mingw32: specify packing alignment to 1 byte, to override -mms-bitfield 2010-12-29 16:13:55 +01:00
stats.h Fix SPICE_STAT_SHM_NAME to be portable 2012-01-08 13:44:20 +02:00
types.h Add byteswapping macros 2010-05-19 16:02:40 +02:00
vd_agent.h vd_agent.h: Add a VDP_END_PORT to the chunk port enum 2011-03-24 11:28:51 +01:00
vdi_dev.h Always include using <spice/foo.h> style 2010-02-04 16:47:23 +01:00