History

Merge tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux

Pull Hyper-V updates from Sasha Levin: - first round of vmbus hibernation support (Dexuan Cui) - remove dependencies on PAGE_SIZE (Maya Nakamura) - move the hyper-v tools/ code into the tools build system (Andy Shevchenko) - hyper-v balloon cleanups (Dexuan Cui) * tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: Drivers: hv: vmbus: Resume after fixing up old primary channels Drivers: hv: vmbus: Suspend after cleaning up hv_sock and sub channels Drivers: hv: vmbus: Clean up hv_sock channels by force upon suspend Drivers: hv: vmbus: Suspend/resume the vmbus itself for hibernation Drivers: hv: vmbus: Ignore the offers when resuming from hibernation Drivers: hv: vmbus: Implement suspend/resume for VSC drivers for hibernation Drivers: hv: vmbus: Add a helper function is_sub_channel() Drivers: hv: vmbus: Suspend/resume the synic for hibernation Drivers: hv: vmbus: Break out synic enable and disable operations HID: hv: Remove dependencies on PAGE_SIZE for ring buffer Tools: hv: move to tools buildsystem hv_balloon: Reorganize the probe function hv_balloon: Use a static page for the balloon_up send buffer

Linus Torvalds committed 7 years ago

Commit af5a7e92 parents 0b36c9e d8bd2d410 files · +613 −134Browse files

Showing the changes to include/linux (1 of 10 files). Show all

Unified · Split

include/linux/hyperv.h+15−1
@@ -245,7 +245,10 @@ struct vmbus_channel_offer { · 244 unmodified lines
245245 } pipe;
246246 } u;
247247 /*
248− * The sub_channel_index is defined in win8.
248+ * The sub_channel_index is defined in Win8: a value of zero means a
249+ * primary channel and a value of non-zero means a sub-channel.
250+ *
251+ * Before Win8, the field is reserved, meaning it's always zero.
249252 */
250253 u16 sub_channel_index;
251254 u16 reserved3;
@@ -423,6 +426,9 @@ enum vmbus_channel_message_type { · 171 unmodified lines
423426 CHANNELMSG_COUNT
424427 };
425428
429+/* Hyper-V supports about 2048 channels, and the RELIDs start with 1. */
430+#define INVALID_RELID U32_MAX
431+
426432 struct vmbus_channel_message_header {
427433 enum vmbus_channel_message_type msgtype;
428434 u32 padding;
@@ -934,6 +940,11 @@ static inline bool is_hvsock_channel(const struct vmbus_channel *c) · 505 unmodified lines
934940 VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER);
935941 }
936942
943+static inline bool is_sub_channel(const struct vmbus_channel *c)
944+{
945+ return c->offermsg.offer.sub_channel_index != 0;
946+}
947+
937948 static inline void set_channel_affinity_state(struct vmbus_channel *c,
938949 enum hv_numa_policy policy)
939950 {
@@ -1149,6 +1160,9 @@ struct hv_driver { · 209 unmodified lines
11491160 int (*remove)(struct hv_device *);
11501161 void (*shutdown)(struct hv_device *);
11511162
1163+ int (*suspend)(struct hv_device *);
1164+ int (*resume)(struct hv_device *);
1165+
11521166 };
11531167
11541168 /* Base device object */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t