Re: [spice-protocol PATCH v2 0.12.2 1/2] qxl_dev.h: add client monitors configuration notification to guest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 09/11/2012 04:35 PM, Alon Levy wrote:
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.

To avoid overwriting the rom while the guest is reading it there is a
client_monitors_config_updating field in ROM. The update protocol is:

qemu:
   (1) set QXLRom::client_monitors_config_updating
   (2) fill QXLRom::client_monitors_config
   (3) raise QXL_INTERRUPT_CLIENT_MONITORS_CONFIG
   (4) clear QXLRom::client_monitors_config_updating

guest:
   (1) clear QXL_INTERRUPT_CLIENT_MONITORS_CONFIG bit in irq status
   (2) wait until QXLRom::client_monitors_config_updating is clear
   (3) parse QXLRom::client_monitors_config
   (4) check that QXLRom::client_monitors_Config_updating is clear
       (a) when set, goto (1)
   (5) check QXL_INTERRUPT_CLIENT_MONITORS_CONFIG bit in irq status
       (a) when set, goto (1)
       (b) when clear we are done


This seems very complicated how about:

qemu:
   (1) fill QXLRom::client_monitors_config, including a crc32 of the data
   (2) raise QXL_INTERRUPT_CLIENT_MONITORS_CONFIG

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

That seems more straight-forward to me.

Regards,

Hans
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]