qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [FOR 0.12 PATCH 1/2] defaults: split default_drive
@ 2009-12-16 13:25 Gerd Hoffmann
  2009-12-16 13:25 ` [Qemu-devel] [FOR 0.12 PATCH 2/2] defaults: update device_list[] Gerd Hoffmann
  0 siblings, 1 reply; 2+ messages in thread
From: Gerd Hoffmann @ 2009-12-16 13:25 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

Split default_drive into default_{floppy,cdrom,sdcard}.
Also add QEMUMachine flags to disable them per machine.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/boards.h |    5 ++++-
 vl.c        |   23 ++++++++++++++++++++---
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/hw/boards.h b/hw/boards.h
index 8fe0fbc..e1beda3 100644
--- a/hw/boards.h
+++ b/hw/boards.h
@@ -22,7 +22,10 @@ typedef struct QEMUMachine {
     int no_serial:1,
         no_parallel:1,
         use_virtcon:1,
-        no_vga:1;
+        no_vga:1,
+        no_floppy:1,
+        no_cdrom:1,
+        no_sdcard:1;
     int is_default;
     GlobalProperty *compat_props;
     struct QEMUMachine *next;
diff --git a/vl.c b/vl.c
index f9c4aff..0318c56 100644
--- a/vl.c
+++ b/vl.c
@@ -274,7 +274,9 @@ static int default_parallel = 1;
 static int default_virtcon = 1;
 static int default_monitor = 1;
 static int default_vga = 1;
-static int default_drive = 1;
+static int default_floppy = 1;
+static int default_cdrom = 1;
+static int default_sdcard = 1;
 static int stdio_monitor = 0;
 
 static struct {
@@ -5616,7 +5618,9 @@ int main(int argc, char **argv, char **envp)
                 default_monitor = 0;
                 default_vga = 0;
                 default_net = 0;
-                default_drive = 0;
+                default_floppy = 0;
+                default_cdrom = 0;
+                default_sdcard = 0;
                 break;
 #ifndef _WIN32
             case QEMU_OPTION_chroot:
@@ -5710,6 +5714,15 @@ int main(int argc, char **argv, char **envp)
     if (machine->no_vga) {
         default_vga = 0;
     }
+    if (machine->no_floppy) {
+        default_floppy = 0;
+    }
+    if (machine->no_cdrom) {
+        default_cdrom = 0;
+    }
+    if (machine->no_sdcard) {
+        default_sdcard = 0;
+    }
 
     if (display_type == DT_NOGRAPHIC) {
         if (default_parallel)
@@ -5863,13 +5876,17 @@ int main(int argc, char **argv, char **envp)
 
     blk_mig_init();
 
-    if (default_drive) {
+    if (default_cdrom) {
         /* we always create the cdrom drive, even if no disk is there */
         drive_add(NULL, CDROM_ALIAS);
+    }
 
+    if (default_floppy) {
         /* we always create at least one floppy */
         drive_add(NULL, FD_ALIAS, 0);
+    }
 
+    if (default_sdcard) {
         /* we always create one sd slot, even if no card is in it */
         drive_add(NULL, SD_ALIAS);
     }
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Qemu-devel] [FOR 0.12 PATCH 2/2] defaults: update device_list[]
  2009-12-16 13:25 [Qemu-devel] [FOR 0.12 PATCH 1/2] defaults: split default_drive Gerd Hoffmann
@ 2009-12-16 13:25 ` Gerd Hoffmann
  0 siblings, 0 replies; 2+ messages in thread
From: Gerd Hoffmann @ 2009-12-16 13:25 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

Add isa-fdc (disables default_floppy).
Add ide-drive (disables default_cdrom).

Also walk the -global QemuOpts, so we'll catch
-global isa-fdc.drive{A,B}=<name> too.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 qemu-config.h |    1 +
 vl.c          |    3 +++
 2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/qemu-config.h b/qemu-config.h
index 34dfadc..dd89ae4 100644
--- a/qemu-config.h
+++ b/qemu-config.h
@@ -7,6 +7,7 @@ extern QemuOptsList qemu_device_opts;
 extern QemuOptsList qemu_netdev_opts;
 extern QemuOptsList qemu_net_opts;
 extern QemuOptsList qemu_rtc_opts;
+extern QemuOptsList qemu_global_opts;
 extern QemuOptsList qemu_mon_opts;
 
 int qemu_set_option(const char *str);
diff --git a/vl.c b/vl.c
index 0318c56..f53807f 100644
--- a/vl.c
+++ b/vl.c
@@ -285,6 +285,8 @@ static struct {
 } default_list[] = {
     { .driver = "isa-serial",           .flag = &default_serial    },
     { .driver = "isa-parallel",         .flag = &default_parallel  },
+    { .driver = "isa-fdc",              .flag = &default_floppy    },
+    { .driver = "ide-drive",            .flag = &default_cdrom     },
     { .driver = "virtio-console-pci",   .flag = &default_virtcon   },
     { .driver = "virtio-console-s390",  .flag = &default_virtcon   },
     { .driver = "VGA",                  .flag = &default_vga       },
@@ -5701,6 +5703,7 @@ int main(int argc, char **argv, char **envp)
     }
 
     qemu_opts_foreach(&qemu_device_opts, default_driver_check, NULL, 0);
+    qemu_opts_foreach(&qemu_global_opts, default_driver_check, NULL, 0);
 
     if (machine->no_serial) {
         default_serial = 0;
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-12-16 13:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-16 13:25 [Qemu-devel] [FOR 0.12 PATCH 1/2] defaults: split default_drive Gerd Hoffmann
2009-12-16 13:25 ` [Qemu-devel] [FOR 0.12 PATCH 2/2] defaults: update device_list[] Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).