summaryrefslogtreecommitdiffstats
path: root/hw/cirrus_vga.c
diff options
context:
space:
mode:
authoraurel322008-05-08 14:21:27 +0200
committeraurel322008-05-08 14:21:27 +0200
commitca896ef389fc44c7a673d1bd2b94823e28da37a1 (patch)
treec275a7a7f58e780769da15404c7d3d40461b3ef0 /hw/cirrus_vga.c
parentUpdate ARM non-rt sigframe layout. (diff)
downloadqemu-ca896ef389fc44c7a673d1bd2b94823e28da37a1.tar.gz
qemu-ca896ef389fc44c7a673d1bd2b94823e28da37a1.tar.xz
qemu-ca896ef389fc44c7a673d1bd2b94823e28da37a1.zip
cirrusfb: proper "Attribute Controller Toggle Readback" register behaviour
(Marcelo Tosatti) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4386 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/cirrus_vga.c')
-rw-r--r--hw/cirrus_vga.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index 47acb32c86..4e9f98d371 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -1626,13 +1626,15 @@ cirrus_hook_read_cr(CirrusVGAState * s, unsigned reg_index, int *reg_value)
case 0x17: // Standard VGA
case 0x18: // Standard VGA
return CIRRUS_HOOK_NOT_HANDLED;
+ case 0x24: // Attribute Controller Toggle Readback (R)
+ *reg_value = (s->ar_flip_flop << 7);
+ break;
case 0x19: // Interlace End
case 0x1a: // Miscellaneous Control
case 0x1b: // Extended Display Control
case 0x1c: // Sync Adjust and Genlock
case 0x1d: // Overlay Extended Control
case 0x22: // Graphics Data Latches Readback (R)
- case 0x24: // Attribute Controller Toggle Readback (R)
case 0x25: // Part Status
case 0x27: // Part ID (R)
*reg_value = s->cr[reg_index];