diff options
author | Avi Kivity <avi@redhat.com> | 2009-05-03 22:25:16 +0300 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-05-08 16:11:38 -0500 |
commit | 4e12cd946f9e7a6e3d35bcce0bc7bfe38cec4eb7 (patch) | |
tree | 1b3d29a0a137dac44efe97ac1e89e2d4ca8676c3 /hw/cirrus_vga_rop2.h | |
parent | fbb7b4e0804d2168f24142eebf7552adde1968dc (diff) |
vga: Replace VGA_COMMON with a structure
All VGA devices share a common field subset; currently they do so by
a macro which defines the common fields inline their state structures,
relying on the the common state being placed at offset 0 in the structure.
This makes refactoring the code difficult and requires a lot of error prone
casts.
Replace the macro by a new VGACommonState structure, and the casts by
regular field access and container_of() for upcasts.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/cirrus_vga_rop2.h')
-rw-r--r-- | hw/cirrus_vga_rop2.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/hw/cirrus_vga_rop2.h b/hw/cirrus_vga_rop2.h index 137681ed1c..81a5b398e0 100644 --- a/hw/cirrus_vga_rop2.h +++ b/hw/cirrus_vga_rop2.h @@ -48,9 +48,9 @@ glue(glue(glue(cirrus_patternfill_, ROP_NAME), _),DEPTH) unsigned int col; const uint8_t *src1; #if DEPTH == 24 - int skipleft = s->gr[0x2f] & 0x1f; + int skipleft = s->vga.gr[0x2f] & 0x1f; #else - int skipleft = (s->gr[0x2f] & 0x07) * (DEPTH / 8); + int skipleft = (s->vga.gr[0x2f] & 0x07) * (DEPTH / 8); #endif #if DEPTH == 8 @@ -105,10 +105,10 @@ glue(glue(glue(cirrus_colorexpand_transp_, ROP_NAME), _),DEPTH) unsigned bitmask; unsigned index; #if DEPTH == 24 - int dstskipleft = s->gr[0x2f] & 0x1f; + int dstskipleft = s->vga.gr[0x2f] & 0x1f; int srcskipleft = dstskipleft / 3; #else - int srcskipleft = s->gr[0x2f] & 0x07; + int srcskipleft = s->vga.gr[0x2f] & 0x07; int dstskipleft = srcskipleft * (DEPTH / 8); #endif @@ -153,7 +153,7 @@ glue(glue(glue(cirrus_colorexpand_, ROP_NAME), _),DEPTH) unsigned bits; unsigned int col; unsigned bitmask; - int srcskipleft = s->gr[0x2f] & 0x07; + int srcskipleft = s->vga.gr[0x2f] & 0x07; int dstskipleft = srcskipleft * (DEPTH / 8); colors[0] = s->cirrus_blt_bgcol; @@ -188,10 +188,10 @@ glue(glue(glue(cirrus_colorexpand_pattern_transp_, ROP_NAME), _),DEPTH) unsigned int bits, bits_xor; unsigned int col; #if DEPTH == 24 - int dstskipleft = s->gr[0x2f] & 0x1f; + int dstskipleft = s->vga.gr[0x2f] & 0x1f; int srcskipleft = dstskipleft / 3; #else - int srcskipleft = s->gr[0x2f] & 0x07; + int srcskipleft = s->vga.gr[0x2f] & 0x07; int dstskipleft = srcskipleft * (DEPTH / 8); #endif @@ -232,7 +232,7 @@ glue(glue(glue(cirrus_colorexpand_pattern_, ROP_NAME), _),DEPTH) int x, y, bitpos, pattern_y; unsigned int bits; unsigned int col; - int srcskipleft = s->gr[0x2f] & 0x07; + int srcskipleft = s->vga.gr[0x2f] & 0x07; int dstskipleft = srcskipleft * (DEPTH / 8); colors[0] = s->cirrus_blt_bgcol; |