提交 c8522bdf 编写于 作者: B balrog

Give emulated drives more monitor-friendly name strings.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3776 c046a42c-6fe2-441c-8c8c-71466251a162
上级 f2df5260
......@@ -4844,6 +4844,8 @@ static int drive_init(const char *str, int snapshot, QEMUMachine *machine)
{
char buf[128];
char file[1024];
char devname[128];
const char *mediastr = "";
BlockInterfaceType interface;
enum { MEDIA_DISK, MEDIA_CDROM } media;
int bus_id, unit_id;
......@@ -4875,9 +4877,11 @@ static int drive_init(const char *str, int snapshot, QEMUMachine *machine)
!strcmp(machine->name, "versatileab")) {
interface = IF_SCSI;
max_devs = MAX_SCSI_DEVS;
strcpy(devname, "scsi");
} else {
interface = IF_IDE;
max_devs = MAX_IDE_DEVS;
strcpy(devname, "ide");
}
media = MEDIA_DISK;
......@@ -4900,6 +4904,7 @@ static int drive_init(const char *str, int snapshot, QEMUMachine *machine)
}
if (get_param_value(buf, sizeof(buf), "if", str)) {
strncpy(devname, buf, sizeof(devname));
if (!strcmp(buf, "ide")) {
interface = IF_IDE;
max_devs = MAX_IDE_DEVS;
......@@ -5057,7 +5062,10 @@ static int drive_init(const char *str, int snapshot, QEMUMachine *machine)
/* init */
snprintf(buf, sizeof(buf), "drive%d", nb_drives);
if (interface == IF_IDE || interface == IF_SCSI)
mediastr = (media == MEDIA_CDROM) ? "-cd" : "-hd";
snprintf(buf, sizeof(buf), max_devs ? "%1$s%4$i%2$s%3$i" : "%s%s%i",
devname, mediastr, unit_id, bus_id);
bdrv = bdrv_new(buf);
drives_table[nb_drives].bdrv = bdrv;
drives_table[nb_drives].interface = interface;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册