Deleted Added
full compact
vmbus_reg.h (307448) vmbus_reg.h (307455)
1/*-
2 * Copyright (c) 2016 Microsoft Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2016 Microsoft Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 * $FreeBSD: stable/11/sys/dev/hyperv/vmbus/vmbus_reg.h 307448 2016-10-17 01:47:49Z sephe $
26 * $FreeBSD: stable/11/sys/dev/hyperv/vmbus/vmbus_reg.h 307455 2016-10-17 02:30:45Z sephe $
27 */
28
29#ifndef _VMBUS_REG_H_
30#define _VMBUS_REG_H_
31
32#include <sys/param.h>
27 */
28
29#ifndef _VMBUS_REG_H_
30#define _VMBUS_REG_H_
31
32#include <sys/param.h>
33#include <dev/hyperv/vmbus/hyperv_reg.h>
34#include <dev/hyperv/include/hyperv.h> /* XXX for hyperv_guid */
33#include <dev/hyperv/include/hyperv.h> /* XXX for hyperv_guid */
34#include <dev/hyperv/include/vmbus.h>
35#include <dev/hyperv/vmbus/hyperv_reg.h>
35
36/*
37 * Hyper-V SynIC message format.
38 */
39
40#define VMBUS_MSG_DSIZE_MAX 240
41#define VMBUS_MSG_SIZE 256
42

--- 60 unchanged lines hidden (view full) ---

103/*
104 * Channel
105 */
106
107#define VMBUS_CHAN_MAX_COMPAT 256
108#define VMBUS_CHAN_MAX (VMBUS_EVTFLAG_LEN * VMBUS_EVTFLAGS_MAX)
109
110/*
36
37/*
38 * Hyper-V SynIC message format.
39 */
40
41#define VMBUS_MSG_DSIZE_MAX 240
42#define VMBUS_MSG_SIZE 256
43

--- 60 unchanged lines hidden (view full) ---

104/*
105 * Channel
106 */
107
108#define VMBUS_CHAN_MAX_COMPAT 256
109#define VMBUS_CHAN_MAX (VMBUS_EVTFLAG_LEN * VMBUS_EVTFLAGS_MAX)
110
111/*
111 * GPA range.
112 * Channel packets
112 */
113 */
113struct vmbus_gpa_range {
114 uint32_t gpa_len;
115 uint32_t gpa_ofs;
116 uint64_t gpa_page[];
114
115#define VMBUS_CHANPKT_SIZE_SHIFT 3
116#define VMBUS_CHANPKT_SIZE_ALIGN (1 << VMBUS_CHANPKT_SIZE_SHIFT)
117
118struct vmbus_chanpkt_hdr {
119 uint16_t cph_type;
120 uint16_t cph_data_ofs; /* in 8 bytes */
121 uint16_t cph_len; /* in 8 bytes */
122 uint16_t cph_flags;
123 uint64_t cph_xactid;
117} __packed;
118
124} __packed;
125
126struct vmbus_chanpkt {
127 struct vmbus_chanpkt_hdr cp_hdr;
128} __packed;
129
130struct vmbus_chanpkt_sglist {
131 struct vmbus_chanpkt_hdr cp_hdr;
132 uint32_t cp_rsvd;
133 uint32_t cp_gpa_cnt;
134 struct vmbus_gpa cp_gpa[];
135} __packed;
136
137struct vmbus_chanpkt_prplist {
138 struct vmbus_chanpkt_hdr cp_hdr;
139 uint32_t cp_rsvd;
140 uint32_t cp_range_cnt;
141 struct vmbus_gpa_range cp_range[];
142} __packed;
143
119/*
120 * Channel messages
121 * - Embedded in vmbus_message.msg_data, e.g. response and notification.
122 * - Embedded in hypercall_postmsg_in.hc_data, e.g. request.
123 */
124
125#define VMBUS_CHANMSG_TYPE_CHOFFER 1 /* NOTE */
126#define VMBUS_CHANMSG_TYPE_CHRESCIND 2 /* NOTE */

--- 152 unchanged lines hidden ---
144/*
145 * Channel messages
146 * - Embedded in vmbus_message.msg_data, e.g. response and notification.
147 * - Embedded in hypercall_postmsg_in.hc_data, e.g. request.
148 */
149
150#define VMBUS_CHANMSG_TYPE_CHOFFER 1 /* NOTE */
151#define VMBUS_CHANMSG_TYPE_CHRESCIND 2 /* NOTE */

--- 152 unchanged lines hidden ---