From: Ian Jackson Date: Tue, 4 Aug 2009 14:23:43 +0000 (+0100) Subject: add two missing cirrus_update_memory_access X-Git-Tag: xen-3.3.2~1 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=a71b1c5e1232c8fe10e4858f2ede358f3e8135a5;p=qemu-xen-3.3-testing.git add two missing cirrus_update_memory_access the cirrus emulation code misses two calls to cirrus_update_memory_access; this fact together with the condition on the call to cirrus_update_memory_access in cirrus_bitblt_reset can cause segfaults in qemu. Signed-off-by: Stefano Stabellini (cherry picked from commit 5a369fdfe6eeb8aa2a2cd52387bf03fed83e925c) (cherry picked from commit b9935ce33bcc20ae722a8945a6fbc0f23d84f9e5) --- diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c index 9c56960f..4dd88855 100644 --- a/hw/cirrus_vga.c +++ b/hw/cirrus_vga.c @@ -1288,6 +1288,7 @@ cirrus_hook_read_sr(CirrusVGAState * s, unsigned reg_index, int *reg_value) break; case 0x05: // ??? case 0x07: // Extended Sequencer Mode + cirrus_update_memory_access(s); case 0x08: // EEPROM Control case 0x09: // Scratch Register 0 case 0x0a: // Scratch Register 1 @@ -1539,6 +1540,7 @@ cirrus_hook_write_gr(CirrusVGAState * s, unsigned reg_index, int reg_value) s->gr[reg_index] = reg_value; cirrus_update_bank_ptr(s, 0); cirrus_update_bank_ptr(s, 1); + cirrus_update_memory_access(s); break; case 0x0B: s->gr[reg_index] = reg_value;