console: remove do_safe_dpy_refresh
Drop the temporary workaround for the broken display updates. All display adapters are updated, so this should be safe without causing regressions. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 20170614084538.32480-1-kraxel@redhat.com
This commit is contained in:
parent
a4f113fd69
commit
3f8f1313e0
25
ui/console.c
25
ui/console.c
@ -1579,36 +1579,13 @@ bool dpy_gfx_check_format(QemuConsole *con,
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Safe DPY refresh for TCG guests. We use the exclusive mechanism to
|
||||
* ensure the TCG vCPUs are quiescent so we can avoid races between
|
||||
* dirty page tracking for direct frame-buffer access by the guest.
|
||||
*
|
||||
* This is a temporary stopgap until we've fixed the dirty tracking
|
||||
* races in display adapters.
|
||||
*/
|
||||
static void do_safe_dpy_refresh(DisplayChangeListener *dcl)
|
||||
{
|
||||
qemu_mutex_unlock_iothread();
|
||||
start_exclusive();
|
||||
qemu_mutex_lock_iothread();
|
||||
dcl->ops->dpy_refresh(dcl);
|
||||
qemu_mutex_unlock_iothread();
|
||||
end_exclusive();
|
||||
qemu_mutex_lock_iothread();
|
||||
}
|
||||
|
||||
static void dpy_refresh(DisplayState *s)
|
||||
{
|
||||
DisplayChangeListener *dcl;
|
||||
|
||||
QLIST_FOREACH(dcl, &s->listeners, next) {
|
||||
if (dcl->ops->dpy_refresh) {
|
||||
if (tcg_enabled()) {
|
||||
do_safe_dpy_refresh(dcl);
|
||||
} else {
|
||||
dcl->ops->dpy_refresh(dcl);
|
||||
}
|
||||
dcl->ops->dpy_refresh(dcl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user