Skip to content

Commit

Permalink
Drivers: hv: Extend/modify vmbus_channel_offer_channel for win7 and b…
Browse files Browse the repository at this point in the history
…eyond

The "offfer" message sent by the host has been extended in win7 (ws2008 R2).
Add/modify state to reflect this extension. All these changes are backward
compatible.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
K. Y. Srinivasan authored and Greg Kroah-Hartman committed Jan 17, 2013
1 parent 2416603 commit 29423b7
Showing 1 changed file with 31 additions and 5 deletions.
36 changes: 31 additions & 5 deletions include/linux/hyperv.h
Original file line number Diff line number Diff line change
Expand Up @@ -440,9 +440,13 @@ hv_get_ringbuffer_availbytes(struct hv_ring_buffer_info *rbi,
struct vmbus_channel_offer {
uuid_le if_type;
uuid_le if_instance;
u64 int_latency; /* in 100ns units */
u32 if_revision;
u32 server_ctx_size; /* in bytes */

/*
* These two fields are not currently used.
*/
u64 reserved1;
u64 reserved2;

u16 chn_flags;
u16 mmio_megabytes; /* in bytes * 1024 * 1024 */

Expand All @@ -464,7 +468,11 @@ struct vmbus_channel_offer {
unsigned char user_def[MAX_PIPE_USER_DEFINED_BYTES];
} pipe;
} u;
u32 padding;
/*
* The sub_channel_index is defined in win8.
*/
u16 sub_channel_index;
u16 reserved3;
} __packed;

/* Server Flags */
Expand Down Expand Up @@ -660,7 +668,25 @@ struct vmbus_channel_offer_channel {
struct vmbus_channel_offer offer;
u32 child_relid;
u8 monitorid;
u8 monitor_allocated;
/*
* win7 and beyond splits this field into a bit field.
*/
u8 monitor_allocated:1;
u8 reserved:7;
/*
* These are new fields added in win7 and later.
* Do not access these fields without checking the
* negotiated protocol.
*
* If "is_dedicated_interrupt" is set, we must not set the
* associated bit in the channel bitmap while sending the
* interrupt to the host.
*
* connection_id is to be used in signaling the host.
*/
u16 is_dedicated_interrupt:1;
u16 reserved1:15;
u32 connection_id;
} __packed;

/* Rescind Offer parameters */
Expand Down

0 comments on commit 29423b7

Please sign in to comment.