提交 cf9182e2 编写于 作者: A Avi Kivity

cirrus: wrap memory update in a transaction

This prevents spurious unmapping and remapping of the vga windows,
which reduces performance.
Reviewed-by: NRichard Henderson  <rth@twiddle.net>
Signed-off-by: NAvi Kivity <avi@redhat.com>
上级 20e5758b
......@@ -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();
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册