Revision 2292ddae vl.c
b/vl.c | ||
---|---|---|
621 | 621 |
/***********************************************************/ |
622 | 622 |
/* QEMU Block devices */ |
623 | 623 |
|
624 |
#define HD_ALIAS "index=%d,media=disk" |
|
625 |
#define CDROM_ALIAS "index=2,media=cdrom" |
|
626 |
#define FD_ALIAS "index=%d,if=floppy" |
|
627 |
#define PFLASH_ALIAS "if=pflash" |
|
628 |
#define MTD_ALIAS "if=mtd" |
|
629 |
#define SD_ALIAS "index=0,if=sd" |
|
624 |
/* Any % in the following strings must be escaped as %% */ |
|
625 |
#define HD_OPTS "media=disk" |
|
626 |
#define CDROM_OPTS "media=cdrom" |
|
627 |
#define FD_OPTS "" |
|
628 |
#define PFLASH_OPTS "" |
|
629 |
#define MTD_OPTS "" |
|
630 |
#define SD_OPTS "" |
|
630 | 631 |
|
631 | 632 |
static int drive_init_func(QemuOpts *opts, void *opaque) |
632 | 633 |
{ |
... | ... | |
1987 | 1988 |
if (optind >= argc) |
1988 | 1989 |
break; |
1989 | 1990 |
if (argv[optind][0] != '-') { |
1990 |
hda_opts = drive_add(argv[optind++], HD_ALIAS, 0);
|
|
1991 |
hda_opts = drive_add(IF_DEFAULT, 0, argv[optind++], HD_OPTS);
|
|
1991 | 1992 |
} else { |
1992 | 1993 |
const QEMUOption *popt; |
1993 | 1994 |
|
... | ... | |
2027 | 2028 |
break; |
2028 | 2029 |
case QEMU_OPTION_hda: |
2029 | 2030 |
if (cyls == 0) |
2030 |
hda_opts = drive_add(optarg, HD_ALIAS, 0);
|
|
2031 |
hda_opts = drive_add(IF_DEFAULT, 0, optarg, HD_OPTS);
|
|
2031 | 2032 |
else |
2032 |
hda_opts = drive_add(optarg, HD_ALIAS
|
|
2033 |
hda_opts = drive_add(IF_DEFAULT, 0, optarg, HD_OPTS
|
|
2033 | 2034 |
",cyls=%d,heads=%d,secs=%d%s", |
2034 |
0, cyls, heads, secs,
|
|
2035 |
cyls, heads, secs, |
|
2035 | 2036 |
translation == BIOS_ATA_TRANSLATION_LBA ? |
2036 | 2037 |
",trans=lba" : |
2037 | 2038 |
translation == BIOS_ATA_TRANSLATION_NONE ? |
... | ... | |
2040 | 2041 |
case QEMU_OPTION_hdb: |
2041 | 2042 |
case QEMU_OPTION_hdc: |
2042 | 2043 |
case QEMU_OPTION_hdd: |
2043 |
drive_add(optarg, HD_ALIAS, popt->index - QEMU_OPTION_hda); |
|
2044 |
drive_add(IF_DEFAULT, popt->index - QEMU_OPTION_hda, optarg, |
|
2045 |
HD_OPTS); |
|
2044 | 2046 |
break; |
2045 | 2047 |
case QEMU_OPTION_drive: |
2046 |
drive_add(NULL, "%s", optarg);
|
|
2048 |
drive_def(optarg);
|
|
2047 | 2049 |
break; |
2048 | 2050 |
case QEMU_OPTION_set: |
2049 | 2051 |
if (qemu_set_option(optarg) != 0) |
... | ... | |
2054 | 2056 |
exit(1); |
2055 | 2057 |
break; |
2056 | 2058 |
case QEMU_OPTION_mtdblock: |
2057 |
drive_add(optarg, MTD_ALIAS);
|
|
2059 |
drive_add(IF_MTD, -1, optarg, MTD_OPTS);
|
|
2058 | 2060 |
break; |
2059 | 2061 |
case QEMU_OPTION_sd: |
2060 |
drive_add(optarg, SD_ALIAS);
|
|
2062 |
drive_add(IF_SD, 0, optarg, SD_OPTS);
|
|
2061 | 2063 |
break; |
2062 | 2064 |
case QEMU_OPTION_pflash: |
2063 |
drive_add(optarg, PFLASH_ALIAS);
|
|
2065 |
drive_add(IF_PFLASH, -1, optarg, PFLASH_OPTS);
|
|
2064 | 2066 |
break; |
2065 | 2067 |
case QEMU_OPTION_snapshot: |
2066 | 2068 |
snapshot = 1; |
... | ... | |
2139 | 2141 |
kernel_cmdline = optarg; |
2140 | 2142 |
break; |
2141 | 2143 |
case QEMU_OPTION_cdrom: |
2142 |
drive_add(optarg, CDROM_ALIAS);
|
|
2144 |
drive_add(IF_DEFAULT, 2, optarg, CDROM_OPTS);
|
|
2143 | 2145 |
break; |
2144 | 2146 |
case QEMU_OPTION_boot: |
2145 | 2147 |
{ |
... | ... | |
2192 | 2194 |
break; |
2193 | 2195 |
case QEMU_OPTION_fda: |
2194 | 2196 |
case QEMU_OPTION_fdb: |
2195 |
drive_add(optarg, FD_ALIAS, popt->index - QEMU_OPTION_fda); |
|
2197 |
drive_add(IF_FLOPPY, popt->index - QEMU_OPTION_fda, |
|
2198 |
optarg, FD_OPTS); |
|
2196 | 2199 |
break; |
2197 | 2200 |
case QEMU_OPTION_no_fd_bootchk: |
2198 | 2201 |
fd_bootchk = 0; |
... | ... | |
2892 | 2895 |
|
2893 | 2896 |
if (default_cdrom) { |
2894 | 2897 |
/* we always create the cdrom drive, even if no disk is there */ |
2895 |
drive_add(NULL, CDROM_ALIAS);
|
|
2898 |
drive_add(IF_DEFAULT, 2, NULL, CDROM_OPTS);
|
|
2896 | 2899 |
} |
2897 | 2900 |
|
2898 | 2901 |
if (default_floppy) { |
2899 | 2902 |
/* we always create at least one floppy */ |
2900 |
drive_add(NULL, FD_ALIAS, 0);
|
|
2903 |
drive_add(IF_FLOPPY, 0, NULL, FD_OPTS);
|
|
2901 | 2904 |
} |
2902 | 2905 |
|
2903 | 2906 |
if (default_sdcard) { |
2904 | 2907 |
/* we always create one sd slot, even if no card is in it */ |
2905 |
drive_add(NULL, SD_ALIAS);
|
|
2908 |
drive_add(IF_SD, 0, NULL, SD_OPTS);
|
|
2906 | 2909 |
} |
2907 | 2910 |
|
2908 | 2911 |
/* open the virtual block devices */ |
Also available in: Unified diff