[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PULL 5/8] vl: add -vga help support
From: |
Gerd Hoffmann |
Subject: |
[Qemu-ppc] [PULL 5/8] vl: add -vga help support |
Date: |
Tue, 7 May 2019 10:19:43 +0200 |
From: Marc-André Lureau <address@hidden>
Provide help output similar to other argument help handling:
$ qemu-system-x86_64 -vga help
none
std standard VGA (default)
cirrus Cirrus VGA
vmware VMWare SVGA
xenfb
qxl QXL VGA
virtio Virtio VG
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
---
vl.c | 40 +++++++++++++++++++++++++++++++---------
1 file changed, 31 insertions(+), 9 deletions(-)
diff --git a/vl.c b/vl.c
index 6b2820483c43..b6709514c1bb 100644
--- a/vl.c
+++ b/vl.c
@@ -2069,11 +2069,39 @@ static bool vga_interface_available(VGAInterfaceType t)
object_class_by_name(ti->class_names[1]);
}
-static void select_vgahw(const char *p)
+static const char *
+get_default_vga_model(const MachineClass *machine_class)
+{
+ if (machine_class->default_display) {
+ return machine_class->default_display;
+ } else if (vga_interface_available(VGA_CIRRUS)) {
+ return "cirrus";
+ } else if (vga_interface_available(VGA_STD)) {
+ return "std";
+ }
+
+ return NULL;
+}
+
+static void select_vgahw(const MachineClass *machine_class, const char *p)
{
const char *opts;
int t;
+ if (g_str_equal(p, "help")) {
+ const char *def = get_default_vga_model(machine_class);
+
+ for (t = 0; t < VGA_TYPE_MAX; t++) {
+ const VGAInterfaceInfo *ti = &vga_interfaces[t];
+
+ if (vga_interface_available(t) && ti->opt_name) {
+ printf("%-20s %s%s\n", ti->opt_name, ti->name ?: "",
+ g_str_equal(ti->opt_name, def) ? " (default)" : "");
+ }
+ }
+ exit(0);
+ }
+
assert(vga_interface_type == VGA_NONE);
for (t = 0; t < VGA_TYPE_MAX; t++) {
const VGAInterfaceInfo *ti = &vga_interfaces[t];
@@ -4424,16 +4452,10 @@ int main(int argc, char **argv, char **envp)
/* If no default VGA is requested, the default is "none". */
if (default_vga) {
- if (machine_class->default_display) {
- vga_model = machine_class->default_display;
- } else if (vga_interface_available(VGA_CIRRUS)) {
- vga_model = "cirrus";
- } else if (vga_interface_available(VGA_STD)) {
- vga_model = "std";
- }
+ vga_model = get_default_vga_model(machine_class);
}
if (vga_model) {
- select_vgahw(vga_model);
+ select_vgahw(machine_class, vga_model);
}
if (watchdog) {
--
2.18.1
- [Qemu-ppc] [PULL 0/8] Vga 20190507 patches, Gerd Hoffmann, 2019/05/07
- [Qemu-ppc] [PULL 1/8] qxl: check release info object, Gerd Hoffmann, 2019/05/07
- [Qemu-ppc] [PULL 4/8] vl: constify VGAInterfaceInfo, Gerd Hoffmann, 2019/05/07
- [Qemu-ppc] [PULL 7/8] ati-vga: Fix check for blt outside vram, Gerd Hoffmann, 2019/05/07
- [Qemu-ppc] [PULL 3/8] hw/display/cirrus_vga: Remove unused include, Gerd Hoffmann, 2019/05/07
- [Qemu-ppc] [PULL 6/8] qxl: avoid unaligned pointer reads/writes, Gerd Hoffmann, 2019/05/07
- [Qemu-ppc] [PULL 2/8] hw/display/cirrus_vga: Update the documentation URL, Gerd Hoffmann, 2019/05/07
- [Qemu-ppc] [PULL 8/8] i2c-ddc: move it to hw/display, Gerd Hoffmann, 2019/05/07
- [Qemu-ppc] [PULL 5/8] vl: add -vga help support,
Gerd Hoffmann <=
- Re: [Qemu-ppc] [PULL 0/8] Vga 20190507 patches, Peter Maydell, 2019/05/07