Signed-off-by: John Snow <js...@redhat.com> --- 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