summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2009-12-16 14:25:39 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-19 08:26:21 -0600
commit115e94a31e21ba75aaa6b8c9c45e350e9232737a (patch)
tree390406915ff47b76f7d28a5014e8d02a884a2ac7
parent5fd5f6999d54a24d8b5c0e765d0087ef03026901 (diff)
downloadqemu-115e94a31e21ba75aaa6b8c9c45e350e9232737a.tar.gz
defaults: split default_drive
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> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit ac33f8fad14e07fa12b74c3494339ae6882dc22f)
-rw-r--r--hw/boards.h5
-rw-r--r--vl.c23
2 files changed, 24 insertions, 4 deletions
diff --git a/hw/boards.h b/hw/boards.h
index 8fe0fbc8fc..e1beda308b 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 20c616e906..ffa1aec904 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 struct {
const char *driver;
@@ -5591,7 +5593,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:
@@ -5685,6 +5689,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)
@@ -5843,13 +5856,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);
}