diff options
-rw-r--r-- | sysemu.h | 15 | ||||
-rw-r--r-- | vl.c | 18 |
2 files changed, 17 insertions, 16 deletions
@@ -99,10 +99,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; @@ -191,10 +191,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; @@ -4488,18 +4485,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); |