summaryrefslogtreecommitdiffstats
path: root/sys/dev/hyperv/storvsc/hv_vstorage.h
diff options
context:
space:
mode:
authorwhu <whu@FreeBSD.org>2015-05-28 09:20:35 +0000
committerwhu <whu@FreeBSD.org>2015-05-28 09:20:35 +0000
commit4530c56768b11d4ab341fc33fc75b9e9f030ef15 (patch)
treeb3f4d9bb32eea9acb3ae008533ef400ee5d2219a /sys/dev/hyperv/storvsc/hv_vstorage.h
parentfafc9e7ad414dd29f8589921d7005d42eec41f9f (diff)
downloadFreeBSD-src-4530c56768b11d4ab341fc33fc75b9e9f030ef15.zip
FreeBSD-src-4530c56768b11d4ab341fc33fc75b9e9f030ef15.tar.gz
MFC r283053
Submitted by: whu Reviewed by: royger Approved by: royger Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D2661
Diffstat (limited to 'sys/dev/hyperv/storvsc/hv_vstorage.h')
-rw-r--r--sys/dev/hyperv/storvsc/hv_vstorage.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/sys/dev/hyperv/storvsc/hv_vstorage.h b/sys/dev/hyperv/storvsc/hv_vstorage.h
index deb9183..026189c 100644
--- a/sys/dev/hyperv/storvsc/hv_vstorage.h
+++ b/sys/dev/hyperv/storvsc/hv_vstorage.h
@@ -51,6 +51,8 @@
* V1 Beta 0.1
* V1 RC < 2008/1/31 1.0
* V1 RC > 2008/1/31 2.0
+ * Win7: 4.2
+ * Win8: 5.1
*/
#define VMSTOR_PROTOCOL_VERSION_CURRENT VMSTOR_PROTOCOL_VERSION(5, 1)
@@ -83,9 +85,25 @@ enum vstor_packet_ops {
*/
#define CDB16GENERIC_LENGTH 0x10
-#define SENSE_BUFFER_SIZE 0x12
+#define SENSE_BUFFER_SIZE 0x14
#define MAX_DATA_BUFFER_LENGTH_WITH_PADDING 0x14
+#define POST_WIN7_STORVSC_SENSE_BUFFER_SIZE 0x14
+#define PRE_WIN8_STORVSC_SENSE_BUFFER_SIZE 0x12
+
+
+struct vmscsi_win8_extension {
+ /*
+ * The following were added in Windows 8
+ */
+ uint16_t reserve;
+ uint8_t queue_tag;
+ uint8_t queue_action;
+ uint32_t srb_flags;
+ uint32_t time_out_value;
+ uint32_t queue_sort_ey;
+} __packed;
+
struct vmscsi_req {
uint16_t length;
uint8_t srb_status;
@@ -114,6 +132,11 @@ struct vmscsi_req {
uint8_t reserved_array[MAX_DATA_BUFFER_LENGTH_WITH_PADDING];
} u;
+ /*
+ * The following was added in win8.
+ */
+ struct vmscsi_win8_extension win8_extension;
+
} __packed;
/**
OpenPOWER on IntegriCloud