Thanks, applied both. I tested ARM and Sparc32 nographic modes which IIRC were the problem previously, both seem to work fine.
On Fri, Sep 30, 2011 at 10:31 AM, Jan Kiszka <jan.kis...@siemens.com> wrote: > This is conceptually cleaner and will allow us to drop the nographic > timer. Moreover, it will be mandatory to fully exploit future per-device > coalesced MMIO rings. > > Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> > --- > hw/g364fb.c | 4 ++++ > hw/vga.c | 4 ++++ > vl.c | 2 -- > 3 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/hw/g364fb.c b/hw/g364fb.c > index b43341f..f00ee27 100644 > --- a/hw/g364fb.c > +++ b/hw/g364fb.c > @@ -245,6 +245,8 @@ static void g364fb_update_display(void *opaque) > { > G364State *s = opaque; > > + qemu_flush_coalesced_mmio_buffer(); > + > if (s->width == 0 || s->height == 0) > return; > > @@ -297,6 +299,8 @@ static void g364fb_screen_dump(void *opaque, const char > *filename) > uint8_t *data_buffer; > FILE *f; > > + qemu_flush_coalesced_mmio_buffer(); > + > if (s->depth != 8) { > error_report("g364: unknown guest depth %d", s->depth); > return; > diff --git a/hw/vga.c b/hw/vga.c > index f9a6014..8712269 100644 > --- a/hw/vga.c > +++ b/hw/vga.c > @@ -1838,6 +1838,8 @@ static void vga_update_display(void *opaque) > VGACommonState *s = opaque; > int full_update, graphic_mode; > > + qemu_flush_coalesced_mmio_buffer(); > + > if (ds_get_bits_per_pixel(s->ds) == 0) { > /* nothing to do */ > } else { > @@ -1958,6 +1960,8 @@ static void vga_update_text(void *opaque, console_ch_t > *chardata) > char msg_buffer[80]; > int full_update = 0; > > + qemu_flush_coalesced_mmio_buffer(); > + > if (!(s->ar_index & 0x20)) { > graphic_mode = GMODE_BLANK; > } else { > diff --git a/vl.c b/vl.c > index bd4a5ce..54d4dd9 100644 > --- a/vl.c > +++ b/vl.c > @@ -1210,7 +1210,6 @@ static void gui_update(void *opaque) > DisplayState *ds = opaque; > DisplayChangeListener *dcl = ds->listeners; > > - qemu_flush_coalesced_mmio_buffer(); > dpy_refresh(ds); > > while (dcl != NULL) { > @@ -1226,7 +1225,6 @@ static void nographic_update(void *opaque) > { > uint64_t interval = GUI_REFRESH_INTERVAL; > > - qemu_flush_coalesced_mmio_buffer(); > qemu_mod_timer(nographic_timer, interval + qemu_get_clock_ms(rt_clock)); > } > > -- > 1.7.3.4 > >