From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38013) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XJV3d-0007kQ-Tt for qemu-devel@nongnu.org; Mon, 18 Aug 2014 18:05:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XJV3U-0006Py-50 for qemu-devel@nongnu.org; Mon, 18 Aug 2014 18:05:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56548) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XJV3T-0006OS-Ff for qemu-devel@nongnu.org; Mon, 18 Aug 2014 18:05:31 -0400 From: John Snow Date: Mon, 18 Aug 2014 18:05:18 -0400 Message-Id: <1408399520-12778-3-git-send-email-jsnow@redhat.com> In-Reply-To: <1408399520-12778-1-git-send-email-jsnow@redhat.com> References: <1408399520-12778-1-git-send-email-jsnow@redhat.com> Subject: [Qemu-devel] [RFC 2/4] blockdev: add IF_AHCI to support -cdrom and -hd[a-d] List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, jsnow@redhat.com, armbru@redhat.com, stefanha@redhat.com, agraf@suse.de Signed-off-by: John Snow --- blockdev.c | 9 ++++++--- include/sysemu/blockdev.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/blockdev.c b/blockdev.c index 58da77f..a9efe1f 100644 --- a/blockdev.c +++ b/blockdev.c @@ -57,6 +57,7 @@ static const char *const if_name[IF_COUNT] = { [IF_SD] = "sd", [IF_VIRTIO] = "virtio", [IF_XEN] = "xen", + [IF_AHCI] = "ahci", }; static const int if_max_devs[IF_COUNT] = { @@ -76,6 +77,7 @@ static const int if_max_devs[IF_COUNT] = { */ [IF_IDE] = 2, [IF_SCSI] = 7, + [IF_AHCI] = 1, }; /* @@ -876,7 +878,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) if (qemu_opts_id(all_opts) == NULL) { char *new_id; const char *mediastr = ""; - if (type == IF_IDE || type == IF_SCSI) { + if (type == IF_IDE || type == IF_SCSI || type == IF_AHCI) { mediastr = (media == MEDIA_CDROM) ? "-cd" : "-hd"; } if (max_devs) { @@ -918,7 +920,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) werror = qemu_opt_get(legacy_opts, "werror"); if (werror != NULL) { if (type != IF_IDE && type != IF_SCSI && type != IF_VIRTIO && - type != IF_NONE) { + type != IF_NONE && type != IF_AHCI) { error_report("werror is not supported by this bus type"); goto fail; } @@ -928,7 +930,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) rerror = qemu_opt_get(legacy_opts, "rerror"); if (rerror != NULL) { if (type != IF_IDE && type != IF_VIRTIO && type != IF_SCSI && - type != IF_NONE) { + type != IF_NONE && type != IF_AHCI) { error_report("rerror is not supported by this bus type"); goto fail; } @@ -966,6 +968,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) switch(type) { case IF_IDE: + case IF_AHCI: case IF_SCSI: case IF_XEN: case IF_NONE: diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h index 2420abd..6b02cf4 100644 --- a/include/sysemu/blockdev.h +++ b/include/sysemu/blockdev.h @@ -25,7 +25,7 @@ typedef enum { */ IF_IDE = 0, IF_NONE, - IF_SCSI, IF_FLOPPY, IF_PFLASH, IF_MTD, IF_SD, IF_VIRTIO, IF_XEN, + IF_SCSI, IF_FLOPPY, IF_PFLASH, IF_MTD, IF_SD, IF_VIRTIO, IF_XEN, IF_AHCI, IF_COUNT } BlockInterfaceType; -- 1.9.3