Message ID | 1358772487-12396-1-git-send-email-alevy@redhat.com |
---|---|
State | New |
Headers | show |
Adding Gerd. > Signed-off-by: Alon Levy <alevy@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 > > >
On 01/21/13 14:36, Alon Levy wrote: > Adding Gerd. > >> Signed-off-by: Alon Levy <alevy@redhat.com> >> --- >> hw/qxl.c | 11 +++++++++++ >> trace-events | 2 ++ Picked up the patches. cheers, Gerd
Alon Levy <alevy@redhat.com> writes:
> Signed-off-by: Alon Levy <alevy@redhat.com>
Why do we want to stop supporting capabilities and monitors config with
old revisions? A brief explanation would be nice to have in the commit
message.
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) ""
Signed-off-by: Alon Levy <alevy@redhat.com> --- hw/qxl.c | 11 +++++++++++ trace-events | 2 ++ 2 files changed, 13 insertions(+)