summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZachary Amsden <zamsden@redhat.com>2009-07-30 00:15:02 -1000
committerAnthony Liguori <aliguori@us.ibm.com>2009-08-27 21:23:39 -0500
commit731dd3beb3bf9a15176b150bd2e9a1dd8b519d7e (patch)
tree1456e85b487a7e032a4c8ecefba2f72a5f9ffeff
parent3b69e8bc6c868db4ab905a440649b6daac3c00b8 (diff)
downloadqemu-731dd3beb3bf9a15176b150bd2e9a1dd8b519d7e.tar.gz
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 <zamsden@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--sysemu.h15
-rw-r--r--vl.c18
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);