[Spice-devel] [Qemu-devel] paravirtual mouse/tablet

Anthony Liguori anthony at codemonkey.ws
Thu Jan 13 08:43:52 PST 2011


On 01/13/2011 10:18 AM, Avi Kivity wrote:
> On 01/13/2011 12:19 PM, Gerd Hoffmann wrote:
>>   Hi,
>>
>> Just throwing a quick writeup into the ring to kickstart the design 
>> discussion ;)
>>
>>
>> typedef struct qemu_pvtablet_message {
>>      uint32_t size;            /* whole message size */
>>      uint32_t type;            /* qemu_pvtablet_type */
>>      uint64_t tv_secs;
>>      uint64_t tv_usecs;
>
> time relative to what base?
>
> can we actually provide it? if the tablet is remote, there may not be 
> a synchronized time source.

I had the same thought, but if it's just treated as time since the init 
message, the guest is capable of working it out (minus drift).

>>      union {
>>          qemu_pvtablet_position position;
>>          qemu_pvtablet_button   button;
>>          qemu_pvtablet_display  display;
>>      } m;
>> } qemu_pvtablet_message;
>>
>
> So the message size for a qemu_pvtablet_position would only include 
> the position member?

I didn't comment on this because I was treating this as a protocol 
proposal and not actual code but usually the following is clearer:

struct qemu_pvtablet_hdr {
     uint32_t size;
     uint32_t type;
     uint64_t tv_secs;
     uint64_t tv_usecs;
};

struct qemu_pvtablet_position {
     struct qemu_pvtablet_hdr hdr;
     uint32_t x;
     uint32_t y;
};

union qemu_pvtablet_message {
     struct qemu_pvtablet_hdr hdr;
     struct qemu_pvtablet_position position;
     ...
};

Regards,

Anthony Liguori


More information about the Spice-devel mailing list