]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
spapr: Fix return value of vga initialization
authorMark Wu <wudxw@linux.vnet.ibm.com>
Mon, 10 Mar 2014 14:37:41 +0000 (22:37 +0800)
committerAndreas Färber <afaerber@suse.de>
Thu, 13 Mar 2014 19:53:28 +0000 (20:53 +0100)
Before spapr_vga_init will returned false if the vga is specified by
the command '-device VGA' because vga_interface_type was evaluated to
VGA_NONE. With the change in previous patch of this series,
spapr_vga_init should return true if it's told that the vga will be
initialized in flow of the generic devices initialization.

To keep '-nodefaults' have the semantics of bare minimum, it adds a
check of 'has_defaults' in usb_enabled() to avoid that a USB controller
is added by '-nodefautls, -device VGA' implicitly.

This patch also makes two cleanups:
1. skip initialization for VGA_NONE
2. remove the useless 'break'

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mark Wu <wudxw@linux.vnet.ibm.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
hw/ppc/spapr.c
vl.c

index bf46c380ecdf30cc561031c533c1e43b18d5e9db..5c9a154d6afdad0f9d20ff15e539b398fdb20101 100644 (file)
@@ -781,13 +781,15 @@ static int spapr_vga_init(PCIBus *pci_bus)
 {
     switch (vga_interface_type) {
     case VGA_NONE:
+        return false;
+    case VGA_DEVICE:
+        return true;
     case VGA_STD:
         return pci_vga_init(pci_bus) != NULL;
     default:
         fprintf(stderr, "This vga model is not supported,"
                 "currently it only supports -vga std\n");
         exit(0);
-        break;
     }
 }
 
diff --git a/vl.c b/vl.c
index 98f6460890cb25822e75d981acf336d2ab28387b..842e897d75460104b57f47436efbfcbea7b502d5 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -974,7 +974,8 @@ static void parse_name(QemuOpts *opts)
 
 bool usb_enabled(bool default_usb)
 {
-    return qemu_opt_get_bool(qemu_get_machine_opts(), "usb", default_usb);
+    return qemu_opt_get_bool(qemu_get_machine_opts(), "usb",
+                             has_defaults && default_usb);
 }
 
 #ifndef _WIN32