aboutsummaryrefslogtreecommitdiff
path: root/softmmu
diff options
context:
space:
mode:
authorGautam Agrawal <gautamnagrawal@gmail.com>2022-05-01 17:55:05 +0530
committerThomas Huth <thuth@redhat.com>2022-05-09 08:21:14 +0200
commitf9bcb2d68496a8fa620443edacb27cad1acc1492 (patch)
tree5f4f8f52f36e0620718a2833e2903e59a50837ca /softmmu
parent26f0ee7ddb9e95b3bde1d1b51d98334bebce0e1f (diff)
Warn user if the vga flag is passed but no vga device is created
A global boolean variable "vga_interface_created"(declared in softmmu/globals.c) has been used to track the creation of vga interface. If the vga flag is passed in the command line "default_vga"(declared in softmmu/vl.c) variable is set to 0. To warn user, the condition checks if vga_interface_created is false and default_vga is equal to 0. If "-vga none" is passed, this patch will not warn the user regarding the creation of VGA device. The warning "A -vga option was passed but this machine type does not use that option; no VGA device has been created" is logged if vga flag is passed but no vga device is created. This patch has been tested for x86_64, i386, sparc, sparc64 and arm boards. Signed-off-by: Gautam Agrawal <gautamnagrawal@gmail.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/581 Message-Id: <20220501122505.29202-1-gautamnagrawal@gmail.com> [thuth: Fix wrong warning with "-device" in some cases as reported by Paolo] Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'softmmu')
-rw-r--r--softmmu/globals.c1
-rw-r--r--softmmu/vl.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/softmmu/globals.c b/softmmu/globals.c
index 3ebd718e35..98b64e0492 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -40,6 +40,7 @@ int nb_nics;
NICInfo nd_table[MAX_NICS];
int autostart = 1;
int vga_interface_type = VGA_NONE;
+bool vga_interface_created;
Chardev *parallel_hds[MAX_PARALLEL_PORTS];
int win2k_install_hack;
int singlestep;
diff --git a/softmmu/vl.c b/softmmu/vl.c
index ad886fb878..488cc4d09e 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -1353,6 +1353,7 @@ static void qemu_disable_default_devices(void)
if (!vga_model && !default_vga) {
vga_interface_type = VGA_DEVICE;
+ vga_interface_created = true;
}
if (!has_defaults || machine_class->no_serial) {
default_serial = 0;
@@ -2736,6 +2737,12 @@ static void qemu_machine_creation_done(void)
if (foreach_device_config(DEV_GDB, gdbserver_start) < 0) {
exit(1);
}
+ if (!vga_interface_created && !default_vga &&
+ vga_interface_type != VGA_NONE) {
+ warn_report("A -vga option was passed but this machine "
+ "type does not use that option; "
+ "No VGA device has been created");
+ }
}
void qmp_x_exit_preconfig(Error **errp)