From: Avi Kivity Date: Mon, 1 Aug 2011 08:03:42 +0000 (+0300) Subject: cirrus: wrap memory update in a transaction X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=cf9182e2290732be9f8d4f73ba3d6f3484380450;p=qmiga%2Fqemu.git cirrus: wrap memory update in a transaction This prevents spurious unmapping and remapping of the vga windows, which reduces performance. Reviewed-by: Richard Henderson Signed-off-by: Avi Kivity --- diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c index 4d0ef0d54c..ec7ea8207b 100644 --- a/hw/cirrus_vga.c +++ b/hw/cirrus_vga.c @@ -2424,6 +2424,7 @@ static void cirrus_update_memory_access(CirrusVGAState *s) { unsigned mode; + memory_region_transaction_begin(); if ((s->vga.sr[0x17] & 0x44) == 0x44) { goto generic_io; } else if (s->cirrus_srcptr != s->cirrus_srcptr_end) { @@ -2443,6 +2444,7 @@ static void cirrus_update_memory_access(CirrusVGAState *s) unmap_linear_vram(s); } } + memory_region_transaction_commit(); }