[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 20/24] ide: Add wwn support to IDE-ATAPI drive
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL 20/24] ide: Add wwn support to IDE-ATAPI drive |
Date: |
Mon, 8 Sep 2014 11:51:45 +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 10/24] libqos: Added EVENT_IDX support, (continued)
- [Qemu-devel] [PULL 10/24] libqos: Added EVENT_IDX support, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 12/24] qemu-img: fix rebase src_cache option documentation, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 11/24] qemu-img: clarify src_cache option documentation, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 17/24] MAINTAINERS: update sheepdog maintainer, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 16/24] qemu-nbd: fix indentation and coding style, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 13/24] block/archipelago: Use QEMU atomic builtins, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 15/24] qemu-nbd: add option to set detect-zeroes mode, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 18/24] libqos: add a simple first-fit memory allocator, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 14/24] rename parse_enum_option to qapi_enum_parse and make it public, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 19/24] qtest/ide: Uninitialize PC allocator, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 20/24] ide: Add wwn support to IDE-ATAPI drive,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL 21/24] vmdk: fix vmdk_parse_extents() extent_file leaks, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 22/24] vmdk: fix buf leak in vmdk_parse_extents(), Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 23/24] IDE: Fill the IDENTIFY request consistently, Stefan Hajnoczi, 2014/09/08
- [Qemu-devel] [PULL 24/24] ide: Add resize callback to ide/core, Stefan Hajnoczi, 2014/09/08
- Re: [Qemu-devel] [PULL v2 00/24] Block patches, Peter Maydell, 2014/09/08