~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise-proposed

« back to all changes in this revision

Viewing changes to drivers/hv/channel_mgmt.c

  • Committer: Package Import Robot
  • Author(s): Luke Yelavich, Luke Yelavich, Upstream Kernel Changes
  • Date: 2012-04-04 18:49:36 UTC
  • Revision ID: package-import@ubuntu.com-20120404184936-tqu735914muv4wpg
Tags: 3.2.0-22.30
[ Luke Yelavich ]

* [Config] Update configs after rebase against Ubuntu-3.2.0-22.35

[ Upstream Kernel Changes ]

* Low-latency: Rebase against Ubuntu-3.2.0-22.35

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
        void (*message_handler)(struct vmbus_channel_message_header *msg);
38
38
};
39
39
 
40
 
#define MAX_MSG_TYPES                    4
41
 
#define MAX_NUM_DEVICE_CLASSES_SUPPORTED 8
42
 
 
43
 
static const uuid_le
44
 
        supported_device_classes[MAX_NUM_DEVICE_CLASSES_SUPPORTED] = {
45
 
        /* {ba6163d9-04a1-4d29-b605-72e2ffb1dc7f} */
46
 
        /* Storage - SCSI */
47
 
        {
48
 
                .b  = {
49
 
                        0xd9, 0x63, 0x61, 0xba, 0xa1, 0x04, 0x29, 0x4d,
50
 
                        0xb6, 0x05, 0x72, 0xe2, 0xff, 0xb1, 0xdc, 0x7f
51
 
                }
52
 
        },
53
 
 
54
 
        /* {F8615163-DF3E-46c5-913F-F2D2F965ED0E} */
55
 
        /* Network */
56
 
        {
57
 
                .b = {
58
 
                        0x63, 0x51, 0x61, 0xF8, 0x3E, 0xDF, 0xc5, 0x46,
59
 
                        0x91, 0x3F, 0xF2, 0xD2, 0xF9, 0x65, 0xED, 0x0E
60
 
                }
61
 
        },
62
 
 
63
 
        /* {CFA8B69E-5B4A-4cc0-B98B-8BA1A1F3F95A} */
64
 
        /* Input */
65
 
        {
66
 
                .b = {
67
 
                        0x9E, 0xB6, 0xA8, 0xCF, 0x4A, 0x5B, 0xc0, 0x4c,
68
 
                        0xB9, 0x8B, 0x8B, 0xA1, 0xA1, 0xF3, 0xF9, 0x5A
69
 
                }
70
 
        },
71
 
 
72
 
        /* {32412632-86cb-44a2-9b5c-50d1417354f5} */
73
 
        /* IDE */
74
 
        {
75
 
                .b = {
76
 
                        0x32, 0x26, 0x41, 0x32, 0xcb, 0x86, 0xa2, 0x44,
77
 
                        0x9b, 0x5c, 0x50, 0xd1, 0x41, 0x73, 0x54, 0xf5
78
 
                }
79
 
        },
80
 
        /* 0E0B6031-5213-4934-818B-38D90CED39DB */
81
 
        /* Shutdown */
82
 
        {
83
 
                .b = {
84
 
                        0x31, 0x60, 0x0B, 0X0E, 0x13, 0x52, 0x34, 0x49,
85
 
                        0x81, 0x8B, 0x38, 0XD9, 0x0C, 0xED, 0x39, 0xDB
86
 
                }
87
 
        },
88
 
        /* {9527E630-D0AE-497b-ADCE-E80AB0175CAF} */
89
 
        /* TimeSync */
90
 
        {
91
 
                .b = {
92
 
                        0x30, 0xe6, 0x27, 0x95, 0xae, 0xd0, 0x7b, 0x49,
93
 
                        0xad, 0xce, 0xe8, 0x0a, 0xb0, 0x17, 0x5c, 0xaf
94
 
                }
95
 
        },
96
 
        /* {57164f39-9115-4e78-ab55-382f3bd5422d} */
97
 
        /* Heartbeat */
98
 
        {
99
 
                .b = {
100
 
                        0x39, 0x4f, 0x16, 0x57, 0x15, 0x91, 0x78, 0x4e,
101
 
                        0xab, 0x55, 0x38, 0x2f, 0x3b, 0xd5, 0x42, 0x2d
102
 
                }
103
 
        },
104
 
        /* {A9A0F4E7-5A45-4d96-B827-8A841E8C03E6} */
105
 
        /* KVP */
106
 
        {
107
 
                .b = {
108
 
                        0xe7, 0xf4, 0xa0, 0xa9, 0x45, 0x5a, 0x96, 0x4d,
109
 
                        0xb8, 0x27, 0x8a, 0x84, 0x1e, 0x8c, 0x3,  0xe6
110
 
        }
111
 
        },
112
 
 
113
 
};
114
 
 
115
40
 
116
41
/**
117
42
 * vmbus_prep_negotiate_resp() - Create default response for Hyper-V Negotiate message
321
246
        struct vmbus_channel *newchannel;
322
247
        uuid_le *guidtype;
323
248
        uuid_le *guidinstance;
324
 
        int i;
325
 
        int fsupported = 0;
326
249
 
327
250
        offer = (struct vmbus_channel_offer_channel *)hdr;
328
 
        for (i = 0; i < MAX_NUM_DEVICE_CLASSES_SUPPORTED; i++) {
329
 
                if (!uuid_le_cmp(offer->offer.if_type,
330
 
                                supported_device_classes[i])) {
331
 
                        fsupported = 1;
332
 
                        break;
333
 
                }
334
 
        }
335
 
 
336
 
        if (!fsupported)
337
 
                return;
338
251
 
339
252
        guidtype = &offer->offer.if_type;
340
253
        guidinstance = &offer->offer.if_instance;