default devices: drives
Add a default_drive variable which specified whenever the default drives
(cdrom, floppy, sd) should be created. It is cleared when the new
-nodefaults switch is specified on the command line.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/vl.c b/vl.c
index 4825836..f64f72e 100644
--- a/vl.c
+++ b/vl.c
@@ -276,6 +276,7 @@
static int default_parallel = 1;
static int default_monitor = 1;
static int default_vga = 1;
+static int default_drive = 1;
static struct {
const char *driver;
@@ -5477,6 +5478,7 @@
default_monitor = 0;
default_vga = 0;
default_net = 0;
+ default_drive = 0;
break;
#ifndef _WIN32
case QEMU_OPTION_chroot:
@@ -5709,14 +5711,16 @@
blk_mig_init();
- /* we always create the cdrom drive, even if no disk is there */
- drive_add(NULL, CDROM_ALIAS);
+ if (default_drive) {
+ /* we always create the cdrom drive, even if no disk is there */
+ drive_add(NULL, CDROM_ALIAS);
- /* we always create at least one floppy */
- drive_add(NULL, FD_ALIAS, 0);
+ /* we always create at least one floppy */
+ drive_add(NULL, FD_ALIAS, 0);
- /* we always create one sd slot, even if no card is in it */
- drive_add(NULL, SD_ALIAS);
+ /* we always create one sd slot, even if no card is in it */
+ drive_add(NULL, SD_ALIAS);
+ }
/* open the virtual block devices */
if (snapshot)