Adding Gerd.
> Signed-off-by: Alon Levy <al...@redhat.com>
> ---
> hw/qxl.c | 11 +++++++++++
> trace-events | 2 ++
> 2 files changed, 13 insertions(+)
>
> diff --git a/hw/qxl.c b/hw/qxl.c
> index 9dc44b9..0d81816 100644
> --- a/hw/qxl.c
> +++ b/hw/qxl.c
> @@ -945,6 +945,12 @@ static void
> interface_set_client_capabilities(QXLInstance *sin,
> {
> PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
>
> + if (qxl->revision < 4) {
> +
> trace_qxl_set_client_capabilities_unsupported_by_revision(qxl->id,
> +
> qxl->revision);
> + return;
> + }
> +
> if (runstate_check(RUN_STATE_INMIGRATE) ||
> runstate_check(RUN_STATE_POSTMIGRATE)) {
> return;
> @@ -979,6 +985,11 @@ static int
> interface_client_monitors_config(QXLInstance *sin,
> QXLRom *rom = memory_region_get_ram_ptr(&qxl->rom_bar);
> int i;
>
> + if (qxl->revision < 4) {
> +
> trace_qxl_client_monitors_config_unsupported_by_device(qxl->id,
> +
> qxl->revision);
> + return 0;
> + }
> /*
> * Older windows drivers set int_mask to 0 when their ISR is
> called,
> * then later set it to ~0. So it doesn't relate to the actual
> interrupts
> diff --git a/trace-events b/trace-events
> index 7de9106..09091e6 100644
> --- a/trace-events
> +++ b/trace-events
> @@ -1029,8 +1029,10 @@ qxl_send_events_vm_stopped(int qid, uint32_t
> events) "%d %d"
> qxl_set_guest_bug(int qid) "%d"
> qxl_interrupt_client_monitors_config(int qid, int num_heads, void
> *heads) "%d %d %p"
> qxl_client_monitors_config_unsupported_by_guest(int qid, uint32_t
> int_mask, void *client_monitors_config) "%d %X %p"
> +qxl_client_monitors_config_unsupported_by_device(int qid, int
> revision) "%d revision=%d"
> qxl_client_monitors_config_capped(int qid, int requested, int limit)
> "%d %d %d"
> qxl_client_monitors_config_crc(int qid, unsigned size, uint32_t
> crc32) "%d %u %u"
> +qxl_set_client_capabilities_unsupported_by_revision(int qid, int
> revision) "%d revision=%d"
>
> # hw/qxl-render.c
> qxl_render_blit_guest_primary_initialized(void) ""
> --
> 1.8.0.1
>
>
>