[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 22/26] ide: Add wwn support to IDE-ATAPI drive
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL 22/26] ide: Add wwn support to IDE-ATAPI drive |
Date: |
Fri, 5 Sep 2014 17:13:50 +0100 |
From: John Snow <address@hidden>
Although it is possible to specify the wwn
property for cdrom devices on the command line,
the underlying driver fails to relay this information
to the guest operating system via IDENTIFY.
This is a simple patch to correct that.
See ATA8-ACS, Table 22 parts 5, 6, and 9.
Signed-off-by: John Snow <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
hw/ide/core.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index b48127f..de0e5e9 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -230,9 +230,23 @@ static void ide_atapi_identify(IDEState *s)
}
put_le16(p + 80, 0x1e); /* support up to ATA/ATAPI-4 */
+ if (s->wwn) {
+ put_le16(p + 84, (1 << 8)); /* supports WWN for words 108-111 */
+ put_le16(p + 87, (1 << 8)); /* WWN enabled */
+ }
+
#ifdef USE_DMA_CDROM
put_le16(p + 88, 0x3f | (1 << 13)); /* udma5 set and supported */
#endif
+
+ if (s->wwn) {
+ /* LE 16-bit words 111-108 contain 64-bit World Wide Name */
+ put_le16(p + 108, s->wwn >> 48);
+ put_le16(p + 109, s->wwn >> 32);
+ put_le16(p + 110, s->wwn >> 16);
+ put_le16(p + 111, s->wwn);
+ }
+
memcpy(s->identify_data, p, sizeof(s->identify_data));
s->identify_set = 1;
}
--
1.9.3
- [Qemu-devel] [PULL 11/26] libqos: Added MSI-X support, (continued)
- [Qemu-devel] [PULL 11/26] libqos: Added MSI-X support, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 12/26] libqos: Added EVENT_IDX support, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 13/26] qemu-img: clarify src_cache option documentation, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 14/26] qemu-img: fix rebase src_cache option documentation, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 15/26] block/archipelago: Use QEMU atomic builtins, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 16/26] rename parse_enum_option to qapi_enum_parse and make it public, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 19/26] MAINTAINERS: update sheepdog maintainer, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 17/26] qemu-nbd: add option to set detect-zeroes mode, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 18/26] qemu-nbd: fix indentation and coding style, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 20/26] libqos: add a simple first-fit memory allocator, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 22/26] ide: Add wwn support to IDE-ATAPI drive,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL 23/26] vmdk: fix vmdk_parse_extents() extent_file leaks, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 24/26] vmdk: fix buf leak in vmdk_parse_extents(), Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 25/26] IDE: Fill the IDENTIFY request consistently, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 26/26] ide: Add resize callback to ide/core, Stefan Hajnoczi, 2014/09/05
- [Qemu-devel] [PULL 21/26] qtest/ide: Uninitialize PC allocator, Stefan Hajnoczi, 2014/09/05
- Re: [Qemu-devel] [PULL 00/26] Block patches, Peter Maydell, 2014/09/05