[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 16/23] cirrus_vga: rename cirrus_hook_write_sr() cir
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 16/23] cirrus_vga: rename cirrus_hook_write_sr() cirrus_vga_write_sr() |
Date: |
Mon, 31 Aug 2009 16:07:26 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
hw/cirrus_vga.c | 45 ++++++++++++++++++++++-----------------------
1 files changed, 22 insertions(+), 23 deletions(-)
diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index d83171a..b369849 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -1302,22 +1302,24 @@ static int cirrus_vga_read_sr(CirrusVGAState * s)
}
}
-static int
-cirrus_hook_write_sr(CirrusVGAState * s, unsigned reg_index, int reg_value)
+static void cirrus_vga_write_sr(CirrusVGAState * s, uint32_t val)
{
- switch (reg_index) {
+ switch (s->vga.sr_index) {
case 0x00: // Standard VGA
case 0x01: // Standard VGA
case 0x02: // Standard VGA
case 0x03: // Standard VGA
case 0x04: // Standard VGA
- return CIRRUS_HOOK_NOT_HANDLED;
+ s->vga.sr[s->vga.sr_index] = val & sr_mask[s->vga.sr_index];
+ if (s->vga.sr_index == 1)
+ s->vga.update_retrace_info(&s->vga);
+ break;
case 0x06: // Unlock Cirrus extensions
- reg_value &= 0x17;
- if (reg_value == 0x12) {
- s->vga.sr[reg_index] = 0x12;
+ val &= 0x17;
+ if (val == 0x12) {
+ s->vga.sr[s->vga.sr_index] = 0x12;
} else {
- s->vga.sr[reg_index] = 0x0f;
+ s->vga.sr[s->vga.sr_index] = 0x0f;
}
break;
case 0x10:
@@ -1328,8 +1330,8 @@ cirrus_hook_write_sr(CirrusVGAState * s, unsigned
reg_index, int reg_value)
case 0xb0:
case 0xd0:
case 0xf0: // Graphics Cursor X
- s->vga.sr[0x10] = reg_value;
- s->hw_cursor_x = (reg_value << 3) | (reg_index >> 5);
+ s->vga.sr[0x10] = val;
+ s->hw_cursor_x = (val << 3) | (s->vga.sr_index >> 5);
break;
case 0x11:
case 0x31:
@@ -1339,8 +1341,8 @@ cirrus_hook_write_sr(CirrusVGAState * s, unsigned
reg_index, int reg_value)
case 0xb1:
case 0xd1:
case 0xf1: // Graphics Cursor Y
- s->vga.sr[0x11] = reg_value;
- s->hw_cursor_y = (reg_value << 3) | (reg_index >> 5);
+ s->vga.sr[0x11] = val;
+ s->hw_cursor_y = (val << 3) | (s->vga.sr_index >> 5);
break;
case 0x07: // Extended Sequencer Mode
cirrus_update_memory_access(s);
@@ -1365,25 +1367,24 @@ cirrus_hook_write_sr(CirrusVGAState * s, unsigned
reg_index, int reg_value)
case 0x1d: // VCLK 2 Denominator & Post
case 0x1e: // VCLK 3 Denominator & Post
case 0x1f: // BIOS Write Enable and MCLK select
- s->vga.sr[reg_index] = reg_value;
+ s->vga.sr[s->vga.sr_index] = val;
#ifdef DEBUG_CIRRUS
printf("cirrus: handled outport sr_index %02x, sr_value %02x\n",
- reg_index, reg_value);
+ s->vga.sr_index, val);
#endif
break;
case 0x17: // Configuration Readback and Extended Control
- s->vga.sr[reg_index] = (s->vga.sr[reg_index] & 0x38) | (reg_value &
0xc7);
+ s->vga.sr[s->vga.sr_index] = (s->vga.sr[s->vga.sr_index] & 0x38)
+ | (val & 0xc7);
cirrus_update_memory_access(s);
break;
default:
#ifdef DEBUG_CIRRUS
- printf("cirrus: outport sr_index %02x, sr_value %02x\n", reg_index,
- reg_value);
+ printf("cirrus: outport sr_index %02x, sr_value %02x\n",
+ s->vga.sr_index, val);
#endif
break;
}
-
- return CIRRUS_HOOK_HANDLED;
}
/***************************************
@@ -2806,13 +2807,11 @@ static void cirrus_vga_ioport_write(void *opaque,
uint32_t addr, uint32_t val)
s->sr_index = val;
break;
case 0x3c5:
- if (cirrus_hook_write_sr(c, s->sr_index, val))
- break;
#ifdef DEBUG_VGA_REG
printf("vga: write SR%x = 0x%02x\n", s->sr_index, val);
#endif
- s->sr[s->sr_index] = val & sr_mask[s->sr_index];
- if (s->sr_index == 1) s->update_retrace_info(s);
+ cirrus_vga_write_sr(c, val);
+ break;
break;
case 0x3c6:
cirrus_write_hidden_dac(c, val);
--
1.6.2.5
- [Qemu-devel] [PATCH 06/23] vga: split isa bits inco vga-isa.c, (continued)
- [Qemu-devel] [PATCH 06/23] vga: split isa bits inco vga-isa.c, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 07/23] vga: export vga_mem_{read,write}, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 08/23] vga: split vga-isa-mm.o, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 09/23] vga and cirrus_vga: create vga_ioport_invalid() and use it everywhere, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 10/23] cirrus_vga: Add a VGACommonState local var to cirrus_vga_ioport_{read, write}, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 11/23] vga: change tabs to spaces, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 13/23] vga and cirrus_vga: substitute switch for equivalent assigntment, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 12/23] cirrus_vga: make cirrus_read_hidden_dac() return its result, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 15/23] cirrus_vga: rename cirrus_hook_read_sr() cirrus_vga_read_sr(), Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 14/23] vga: Rename last VGAState occurrences to VGACommonState, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 16/23] cirrus_vga: rename cirrus_hook_write_sr() cirrus_vga_write_sr(),
Juan Quintela <=
- [Qemu-devel] [PATCH 18/23] cirrus_vga: rename cirrus_hook_write_palette() cirrus_vga_write_palette(), Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 17/23] cirrus_vga: rename cirrus_hook_read_palette() cirrus_vga_read_palette(), Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 20/23] cirrus_vga: rename cirrus_hook_write_gr() cirrus_vga_write_gr(), Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 19/23] cirrus_vga: rename cirrus_hook_read_gr() cirrus_vga_read_gr(), Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 21/23] cirrus_vga: rename cirrus_hook_read_cr() cirrus_vga_read_cr(), Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 23/23] cirrus_vga: CIRRUS_HOOK_* is not used anymore, Juan Quintela, 2009/08/31
- [Qemu-devel] [PATCH 22/23] cirrus_vga: rename cirrus_hook_write_cr() cirrus_vga_write_cr(), Juan Quintela, 2009/08/31