From 731dd3beb3bf9a15176b150bd2e9a1dd8b519d7e Mon Sep 17 00:00:00 2001 From: Zachary Amsden Date: Thu, 30 Jul 2009 00:15:02 -1000 Subject: Clean up VGA type selection; far too many variables being used to track one state leads to confusion if new variables are added. Signed-off-by: Zachary Amsden Signed-off-by: Anthony Liguori --- sysemu.h | 15 +++++++++++---- vl.c | 18 ++++++------------ 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/sysemu.h b/sysemu.h index c94b8e3390..ce251093de 100644 --- a/sysemu.h +++ b/sysemu.h @@ -104,10 +104,17 @@ typedef enum DisplayType extern int autostart; extern int bios_size; -extern int cirrus_vga_enabled; -extern int std_vga_enabled; -extern int vmsvga_enabled; -extern int xenfb_enabled; + +typedef enum { + VGA_NONE, VGA_STD, VGA_CIRRUS, VGA_VMWARE, VGA_XENFB +} VGAInterfaceType; + +extern int vga_interface_type; +#define cirrus_vga_enabled (vga_interface_type == VGA_CIRRUS) +#define std_vga_enabled (vga_interface_type == VGA_STD) +#define xenfb_enabled (vga_interface_type == VGA_XENFB) +#define vmsvga_enabled (vga_interface_type == VGA_VMWARE) + extern int graphic_width; extern int graphic_height; extern int graphic_depth; diff --git a/vl.c b/vl.c index ddd03a96f5..710d52ef01 100644 --- a/vl.c +++ b/vl.c @@ -199,10 +199,7 @@ int vm_running; int autostart; static int rtc_utc = 1; static int rtc_date_offset = -1; /* -1 means no change */ -int cirrus_vga_enabled = 1; -int std_vga_enabled = 0; -int vmsvga_enabled = 0; -int xenfb_enabled = 0; +int vga_interface_type = VGA_CIRRUS; #ifdef TARGET_SPARC int graphic_width = 1024; int graphic_height = 768; @@ -4588,18 +4585,15 @@ static void select_vgahw (const char *p) { const char *opts; - cirrus_vga_enabled = 0; - std_vga_enabled = 0; - vmsvga_enabled = 0; - xenfb_enabled = 0; + vga_interface_type = VGA_NONE; if (strstart(p, "std", &opts)) { - std_vga_enabled = 1; + vga_interface_type = VGA_STD; } else if (strstart(p, "cirrus", &opts)) { - cirrus_vga_enabled = 1; + vga_interface_type = VGA_CIRRUS; } else if (strstart(p, "vmware", &opts)) { - vmsvga_enabled = 1; + vga_interface_type = VGA_VMWARE; } else if (strstart(p, "xenfb", &opts)) { - xenfb_enabled = 1; + vga_interface_type = VGA_XENFB; } else if (!strstart(p, "none", &opts)) { invalid_vga: fprintf(stderr, "Unknown vga type: %s\n", p); -- cgit v1.2.1