Drop the temporary workaround for the broken display updates. TODO: before actually merging this we have to fix all display adapters ...
Converted so far: vga, cg3, tcx. Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- ui/console.c | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/ui/console.c b/ui/console.c index 419b098..4c70d8b 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1575,36 +1575,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); } } } -- 2.9.3