|
@@ -148,18 +148,16 @@ static uint32_t expand4[256];
|
|
|
static uint16_t expand2[256];
|
|
|
static uint8_t expand4to8[16];
|
|
|
|
|
|
-typedef VGACommonState VGAState;
|
|
|
-
|
|
|
static void vga_screen_dump(void *opaque, const char *filename);
|
|
|
static char *screen_dump_filename;
|
|
|
static DisplayChangeListener *screen_dump_dcl;
|
|
|
|
|
|
-static void vga_dumb_update_retrace_info(VGAState *s)
|
|
|
+static void vga_dumb_update_retrace_info(VGACommonState *s)
|
|
|
{
|
|
|
(void) s;
|
|
|
}
|
|
|
|
|
|
-static void vga_precise_update_retrace_info(VGAState *s)
|
|
|
+static void vga_precise_update_retrace_info(VGACommonState *s)
|
|
|
{
|
|
|
int htotal_chars;
|
|
|
int hretr_start_char;
|
|
@@ -250,7 +248,7 @@ static void vga_precise_update_retrace_info(VGAState *s)
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-static uint8_t vga_precise_retrace(VGAState *s)
|
|
|
+static uint8_t vga_precise_retrace(VGACommonState *s)
|
|
|
{
|
|
|
struct vga_precise_retrace *r = &s->retrace_info.precise;
|
|
|
uint8_t val = s->st01 & ~(ST01_V_RETRACE | ST01_DISP_ENABLE);
|
|
@@ -279,7 +277,7 @@ static uint8_t vga_precise_retrace(VGAState *s)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static uint8_t vga_dumb_retrace(VGAState *s)
|
|
|
+static uint8_t vga_dumb_retrace(VGACommonState *s)
|
|
|
{
|
|
|
return s->st01 ^ (ST01_V_RETRACE | ST01_DISP_ENABLE);
|
|
|
}
|
|
@@ -512,7 +510,7 @@ void vga_ioport_write(void *opaque, uint32_t addr, uint32_t val)
|
|
|
#ifdef CONFIG_BOCHS_VBE
|
|
|
static uint32_t vbe_ioport_read_index(void *opaque, uint32_t addr)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
uint32_t val;
|
|
|
val = s->vbe_index;
|
|
|
return val;
|
|
@@ -520,7 +518,7 @@ static uint32_t vbe_ioport_read_index(void *opaque, uint32_t addr)
|
|
|
|
|
|
static uint32_t vbe_ioport_read_data(void *opaque, uint32_t addr)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
uint32_t val;
|
|
|
|
|
|
if (s->vbe_index <= VBE_DISPI_INDEX_NB) {
|
|
@@ -554,13 +552,13 @@ static uint32_t vbe_ioport_read_data(void *opaque, uint32_t addr)
|
|
|
|
|
|
static void vbe_ioport_write_index(void *opaque, uint32_t addr, uint32_t val)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
s->vbe_index = val;
|
|
|
}
|
|
|
|
|
|
static void vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
|
|
|
if (s->vbe_index <= VBE_DISPI_INDEX_NB) {
|
|
|
#ifdef DEBUG_BOCHS_VBE
|
|
@@ -706,7 +704,7 @@ static void vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val)
|
|
|
/* called for accesses between 0xa0000 and 0xc0000 */
|
|
|
uint32_t vga_mem_readb(void *opaque, target_phys_addr_t addr)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
int memory_map_mode, plane;
|
|
|
uint32_t ret;
|
|
|
|
|
@@ -793,7 +791,7 @@ static uint32_t vga_mem_readl(void *opaque, target_phys_addr_t addr)
|
|
|
/* called for accesses between 0xa0000 and 0xc0000 */
|
|
|
void vga_mem_writeb(void *opaque, target_phys_addr_t addr, uint32_t val)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
int memory_map_mode, plane, write_mode, b, func_select, mask;
|
|
|
uint32_t write_mask, bit_mask, set_mask;
|
|
|
|
|
@@ -957,7 +955,7 @@ typedef void vga_draw_glyph8_func(uint8_t *d, int linesize,
|
|
|
typedef void vga_draw_glyph9_func(uint8_t *d, int linesize,
|
|
|
const uint8_t *font_ptr, int h,
|
|
|
uint32_t fgcol, uint32_t bgcol, int dup9);
|
|
|
-typedef void vga_draw_line_func(VGAState *s1, uint8_t *d,
|
|
|
+typedef void vga_draw_line_func(VGACommonState *s1, uint8_t *d,
|
|
|
const uint8_t *s, int width);
|
|
|
|
|
|
#define DEPTH 8
|
|
@@ -1042,7 +1040,7 @@ static unsigned int rgb_to_pixel32bgr_dup(unsigned int r, unsigned int g, unsign
|
|
|
}
|
|
|
|
|
|
/* return true if the palette was modified */
|
|
|
-static int update_palette16(VGAState *s)
|
|
|
+static int update_palette16(VGACommonState *s)
|
|
|
{
|
|
|
int full_update, i;
|
|
|
uint32_t v, col, *palette;
|
|
@@ -1068,7 +1066,7 @@ static int update_palette16(VGAState *s)
|
|
|
}
|
|
|
|
|
|
/* return true if the palette was modified */
|
|
|
-static int update_palette256(VGAState *s)
|
|
|
+static int update_palette256(VGACommonState *s)
|
|
|
{
|
|
|
int full_update, i;
|
|
|
uint32_t v, col, *palette;
|
|
@@ -1095,7 +1093,7 @@ static int update_palette256(VGAState *s)
|
|
|
return full_update;
|
|
|
}
|
|
|
|
|
|
-static void vga_get_offsets(VGAState *s,
|
|
|
+static void vga_get_offsets(VGACommonState *s,
|
|
|
uint32_t *pline_offset,
|
|
|
uint32_t *pstart_addr,
|
|
|
uint32_t *pline_compare)
|
|
@@ -1127,7 +1125,7 @@ static void vga_get_offsets(VGAState *s,
|
|
|
}
|
|
|
|
|
|
/* update start_addr and line_offset. Return TRUE if modified */
|
|
|
-static int update_basic_params(VGAState *s)
|
|
|
+static int update_basic_params(VGACommonState *s)
|
|
|
{
|
|
|
int full_update;
|
|
|
uint32_t start_addr, line_offset, line_compare;
|
|
@@ -1216,7 +1214,7 @@ static const uint8_t cursor_glyph[32 * 4] = {
|
|
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
|
|
};
|
|
|
|
|
|
-static void vga_get_text_resolution(VGAState *s, int *pwidth, int *pheight,
|
|
|
+static void vga_get_text_resolution(VGACommonState *s, int *pwidth, int *pheight,
|
|
|
int *pcwidth, int *pcheight)
|
|
|
{
|
|
|
int width, cwidth, height, cheight;
|
|
@@ -1265,7 +1263,7 @@ static rgb_to_pixel_dup_func *rgb_to_pixel_dup_table[NB_DEPTHS] = {
|
|
|
* - underline
|
|
|
* - flashing
|
|
|
*/
|
|
|
-static void vga_draw_text(VGAState *s, int full_update)
|
|
|
+static void vga_draw_text(VGACommonState *s, int full_update)
|
|
|
{
|
|
|
int cx, cy, cheight, cw, ch, cattr, height, width, ch_attr;
|
|
|
int cx_min, cx_max, linesize, x_incr;
|
|
@@ -1520,7 +1518,7 @@ static vga_draw_line_func *vga_draw_line_table[NB_DEPTHS * VGA_DRAW_LINE_NB] = {
|
|
|
vga_draw_line32_16bgr,
|
|
|
};
|
|
|
|
|
|
-static int vga_get_bpp(VGAState *s)
|
|
|
+static int vga_get_bpp(VGACommonState *s)
|
|
|
{
|
|
|
int ret;
|
|
|
#ifdef CONFIG_BOCHS_VBE
|
|
@@ -1534,7 +1532,7 @@ static int vga_get_bpp(VGAState *s)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static void vga_get_resolution(VGAState *s, int *pwidth, int *pheight)
|
|
|
+static void vga_get_resolution(VGACommonState *s, int *pwidth, int *pheight)
|
|
|
{
|
|
|
int width, height;
|
|
|
|
|
@@ -1555,7 +1553,7 @@ static void vga_get_resolution(VGAState *s, int *pwidth, int *pheight)
|
|
|
*pheight = height;
|
|
|
}
|
|
|
|
|
|
-void vga_invalidate_scanlines(VGAState *s, int y1, int y2)
|
|
|
+void vga_invalidate_scanlines(VGACommonState *s, int y1, int y2)
|
|
|
{
|
|
|
int y;
|
|
|
if (y1 >= VGA_MAX_HEIGHT)
|
|
@@ -1567,7 +1565,7 @@ void vga_invalidate_scanlines(VGAState *s, int y1, int y2)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void vga_sync_dirty_bitmap(VGAState *s)
|
|
|
+static void vga_sync_dirty_bitmap(VGACommonState *s)
|
|
|
{
|
|
|
if (s->map_addr)
|
|
|
cpu_physical_sync_dirty_bitmap(s->map_addr, s->map_end);
|
|
@@ -1581,7 +1579,7 @@ static void vga_sync_dirty_bitmap(VGAState *s)
|
|
|
/*
|
|
|
* graphic modes
|
|
|
*/
|
|
|
-static void vga_draw_graphic(VGAState *s, int full_update)
|
|
|
+static void vga_draw_graphic(VGACommonState *s, int full_update)
|
|
|
{
|
|
|
int y1, y, update, linesize, y_start, double_scan, mask, depth;
|
|
|
int width, height, shift_control, line_offset, bwidth, bits;
|
|
@@ -1798,7 +1796,7 @@ static void vga_draw_graphic(VGAState *s, int full_update)
|
|
|
memset(s->invalidated_y_table, 0, ((height + 31) >> 5) * 4);
|
|
|
}
|
|
|
|
|
|
-static void vga_draw_blank(VGAState *s, int full_update)
|
|
|
+static void vga_draw_blank(VGACommonState *s, int full_update)
|
|
|
{
|
|
|
int i, w, val;
|
|
|
uint8_t *d;
|
|
@@ -1830,7 +1828,7 @@ static void vga_draw_blank(VGAState *s, int full_update)
|
|
|
|
|
|
static void vga_update_display(void *opaque)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
int full_update, graphic_mode;
|
|
|
|
|
|
if (ds_get_bits_per_pixel(s->ds) == 0) {
|
|
@@ -1865,7 +1863,7 @@ static void vga_update_display(void *opaque)
|
|
|
/* force a full display refresh */
|
|
|
static void vga_invalidate_display(void *opaque)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
|
|
|
s->full_update = 1;
|
|
|
}
|
|
@@ -1939,7 +1937,7 @@ void vga_common_reset(VGACommonState *s)
|
|
|
|
|
|
static void vga_reset(void *opaque)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
vga_common_reset(s);
|
|
|
}
|
|
|
|
|
@@ -1951,7 +1949,7 @@ static void vga_reset(void *opaque)
|
|
|
* instead of doing a full vga_update_display() */
|
|
|
static void vga_update_text(void *opaque, console_ch_t *chardata)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
int graphic_mode, i, cursor_offset, cursor_visible;
|
|
|
int cw, cheight, width, height, size, c_min, c_max;
|
|
|
uint32_t *src;
|
|
@@ -2265,7 +2263,7 @@ void vga_common_init(VGACommonState *s, int vga_ram_size)
|
|
|
}
|
|
|
|
|
|
/* used by both ISA and PCI */
|
|
|
-void vga_init(VGAState *s)
|
|
|
+void vga_init(VGACommonState *s)
|
|
|
{
|
|
|
int vga_io_memory;
|
|
|
|
|
@@ -2389,7 +2387,7 @@ static DisplayChangeListener* vga_screen_dump_init(DisplayState *ds)
|
|
|
available */
|
|
|
static void vga_screen_dump(void *opaque, const char *filename)
|
|
|
{
|
|
|
- VGAState *s = opaque;
|
|
|
+ VGACommonState *s = opaque;
|
|
|
|
|
|
if (!screen_dump_dcl)
|
|
|
screen_dump_dcl = vga_screen_dump_init(s->ds);
|