From: Ian Jackson Date: Tue, 4 Aug 2009 14:23:43 +0000 (+0100) Subject: add two missing cirrus_update_memory_access X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b9935ce33bcc20ae722a8945a6fbc0f23d84f9e5;p=xenclient%2Fioemu.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) --- diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c index 8da0c60c..38c829af 100644 --- a/hw/cirrus_vga.c +++ b/hw/cirrus_vga.c @@ -1275,6 +1275,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 @@ -1540,6 +1541,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;