Add interface type IF_SATA. Signed-off-by: Sebastian Herbszt <herb...@gmx.de>
diff --git a/sysemu.h b/sysemu.h index fa921df..b88bae9 100644 --- a/sysemu.h +++ b/sysemu.h @@ -151,7 +151,7 @@ extern unsigned int nb_prom_envs; typedef enum { IF_NONE, IF_IDE, IF_SCSI, IF_FLOPPY, IF_PFLASH, IF_MTD, IF_SD, IF_VIRTIO, IF_XEN, - IF_COUNT + IF_SATA, IF_COUNT } BlockInterfaceType; typedef enum { @@ -177,6 +177,7 @@ typedef struct DriveInfo { #define MAX_IDE_DEVS 2 #define MAX_SCSI_DEVS 7 +#define MAX_SATA_DEVS 1 #define MAX_DRIVES 32 extern QTAILQ_HEAD(drivelist, DriveInfo) drives; diff --git a/vl.c b/vl.c index 85bcc84..cd3a343 100644 --- a/vl.c +++ b/vl.c @@ -849,6 +849,9 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque, } else if (!strcmp(buf, "xen")) { type = IF_XEN; max_devs = 0; + } else if (!strcmp(buf, "sata")) { + type = IF_SATA; + max_devs = MAX_SATA_DEVS; } else if (!strcmp(buf, "none")) { type = IF_NONE; max_devs = 0; @@ -1039,7 +1042,7 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque, } else { /* no id supplied -> create one */ dinfo->id = qemu_mallocz(32); - if (type == IF_IDE || type == IF_SCSI) + if (type == IF_IDE || type == IF_SCSI || type == IF_SATA) mediastr = (media == MEDIA_CDROM) ? "-cd" : "-hd"; if (max_devs) snprintf(dinfo->id, 32, "%s%i%s%i", @@ -1064,6 +1067,7 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque, case IF_IDE: case IF_SCSI: case IF_XEN: + case IF_SATA: case IF_NONE: switch(media) { case MEDIA_DISK: