From: Mark Wu Date: Mon, 10 Mar 2014 14:37:41 +0000 (+0800) Subject: spapr: Fix return value of vga initialization X-Git-Tag: v2.0.0-rc0~2^2 X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lisovros/qemu_apohw.git/commitdiff_plain/7effdaa32198b7077c51e29621dfca3d1b14e420 spapr: Fix return value of vga initialization 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 Signed-off-by: Mark Wu Reviewed-by: Paolo Bonzini Signed-off-by: Andreas Färber --- diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index bf46c380e..5c9a154d6 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -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 98f646089..842e897d7 100644 --- 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