Signed-off-by: Mark Wu <wu...@linux.vnet.ibm.com>
---
include/sysemu/sysemu.h | 2 +-
vl.c | 8 +++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 495dae8..a21205f 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -103,7 +103,7 @@ typedef enum DisplayType
extern int autostart;
typedef enum {
- VGA_NONE, VGA_STD, VGA_CIRRUS, VGA_VMWARE, VGA_XENFB, VGA_QXL,
+ VGA_NONE, VGA_STD, VGA_CIRRUS, VGA_VMWARE, VGA_XENFB, VGA_QXL,
VGA_DEVICE
} VGAInterfaceType;
extern int vga_interface_type;
diff --git a/vl.c b/vl.c
index 1d27b34..06a4253 100644
--- a/vl.c
+++ b/vl.c
@@ -226,6 +226,7 @@ static int default_floppy = 1;
static int default_cdrom = 1;
static int default_sdcard = 1;
static int default_vga = 1;
+static int has_defaults = 1;
static struct {
const char *driver;
@@ -2066,7 +2067,11 @@ static void select_vgahw (const char *p)
fprintf(stderr, "Error: QXL VGA not available\n");
exit(0);
}
- } else if (!strstart(p, "none", &opts)) {
+ } else if (strstart(p, "none", &opts)) {
+ if (!has_defaults && !default_vga) {
+ vga_interface_type = VGA_DEVICE;
+ }
+ } else {
invalid_vga:
fprintf(stderr, "Unknown vga type: %s\n", p);
exit(1);
@@ -3672,6 +3677,7 @@ int main(int argc, char **argv, char **envp)
default_cdrom = 0;
default_sdcard = 0;
default_vga = 0;
+ has_defaults = 0;
break;
case QEMU_OPTION_xen_domid:
if (!(xen_available())) {