Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Drivers: hv: vmbus:Update preferred vmbus protocol version to windows 10.

Add support for Windows 10.

Signed-off-by: Keith Mange <keith.mange@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Keith Mange and committed by
Greg Kroah-Hartman
6c4e5f9c b575f712

+8 -4
+5 -3
drivers/hv/connection.c
··· 58 58 case (VERSION_WIN8_1): 59 59 return VERSION_WIN8; 60 60 61 + case (VERSION_WIN10): 62 + return VERSION_WIN8_1; 63 + 61 64 case (VERSION_WS2008): 62 65 default: 63 66 return VERSION_INVAL; ··· 83 80 msg->interrupt_page = virt_to_phys(vmbus_connection.int_page); 84 81 msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]); 85 82 msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]); 86 - if (version == VERSION_WIN8_1) { 83 + if (version >= VERSION_WIN8_1) { 87 84 msg->target_vcpu = hv_context.vp_index[get_cpu()]; 88 85 put_cpu(); 89 86 } ··· 379 376 int cpu = smp_processor_id(); 380 377 union hv_synic_event_flags *event; 381 378 382 - if ((vmbus_proto_version == VERSION_WS2008) || 383 - (vmbus_proto_version == VERSION_WIN7)) { 379 + if (vmbus_proto_version < VERSION_WIN8) { 384 380 maxdword = MAX_NUM_CHANNELS_SUPPORTED >> 5; 385 381 recv_int_page = vmbus_connection.recv_int_page; 386 382 } else {
+3 -1
include/linux/hyperv.h
··· 160 160 * 1 . 1 (Windows 7) 161 161 * 2 . 4 (Windows 8) 162 162 * 3 . 0 (Windows 8 R2) 163 + * 4 . 0 (Windows 10) 163 164 */ 164 165 165 166 #define VERSION_WS2008 ((0 << 16) | (13)) 166 167 #define VERSION_WIN7 ((1 << 16) | (1)) 167 168 #define VERSION_WIN8 ((2 << 16) | (4)) 168 169 #define VERSION_WIN8_1 ((3 << 16) | (0)) 170 + #define VERSION_WIN10 ((4 << 16) | (0)) 169 171 170 172 #define VERSION_INVAL -1 171 173 172 - #define VERSION_CURRENT VERSION_WIN8_1 174 + #define VERSION_CURRENT VERSION_WIN10 173 175 174 176 /* Make maximum size of pipe payload of 16K */ 175 177 #define MAX_PIPE_DATA_PAYLOAD (sizeof(u8) * 16384)