aboutsummaryrefslogtreecommitdiff
path: root/hw/display/vga_int.h
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2015-01-09 10:47:33 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2024-01-18 10:43:13 +0100
commitf9b925fd41337027e959baeb23d714b5214cd5ff (patch)
tree55c2396d1a02d6f6e9182b8d5aaa0e47b65ce718 /hw/display/vga_int.h
parent937de9a981a86be1e002cff58f02272610708fbb (diff)
vga: introduce VGADisplayParams
The next patches will introduce more parameters that cause a full refresh. Instead of adding arguments to get_offsets and lines to update_basic_params, do everything through a struct. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/display/vga_int.h')
-rw-r--r--hw/display/vga_int.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/hw/display/vga_int.h b/hw/display/vga_int.h
index 7cf0d11201..6be61e0428 100644
--- a/hw/display/vga_int.h
+++ b/hw/display/vga_int.h
@@ -56,6 +56,12 @@ struct VGACommonState;
typedef uint8_t (* vga_retrace_fn)(struct VGACommonState *s);
typedef void (* vga_update_retrace_info_fn)(struct VGACommonState *s);
+typedef struct VGADisplayParams {
+ uint32_t line_offset;
+ uint32_t start_addr;
+ uint32_t line_compare;
+} VGADisplayParams;
+
typedef struct VGACommonState {
MemoryRegion *legacy_address_space;
uint8_t *vram_ptr;
@@ -90,10 +96,7 @@ typedef struct VGACommonState {
uint8_t palette[768];
int32_t bank_offset;
int (*get_bpp)(struct VGACommonState *s);
- void (*get_offsets)(struct VGACommonState *s,
- uint32_t *pline_offset,
- uint32_t *pstart_addr,
- uint32_t *pline_compare);
+ void (*get_params)(struct VGACommonState *s, VGADisplayParams *params);
void (*get_resolution)(struct VGACommonState *s,
int *pwidth,
int *pheight);
@@ -111,9 +114,7 @@ typedef struct VGACommonState {
int graphic_mode;
uint8_t shift_control;
uint8_t double_scan;
- uint32_t line_offset;
- uint32_t line_compare;
- uint32_t start_addr;
+ VGADisplayParams params;
uint32_t plane_updated;
uint32_t last_line_offset;
uint8_t last_cw, last_ch;