Deleted Added
full compact
hyperv.h (307451) hyperv.h (307453)
1/*-
2 * Copyright (c) 2009-2012,2016 Microsoft Corp.
3 * Copyright (c) 2012 NetApp Inc.
4 * Copyright (c) 2012 Citrix Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

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

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

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

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $FreeBSD: stable/11/sys/dev/hyperv/include/hyperv.h 307451 2016-10-17 02:12:49Z sephe $
28 * $FreeBSD: stable/11/sys/dev/hyperv/include/hyperv.h 307453 2016-10-17 02:23:05Z sephe $
29 */
30
31/**
32 * HyperV definitions for messages that are sent between instances of the
33 * Channel Management Library in separate partitions, or in some cases,
34 * back to itself.
35 */
36

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

252
253 /*
254 * These are based on the offer_msg.monitor_id.
255 * Save it here for easy access.
256 */
257 int ch_montrig_idx; /* MNF trig index */
258 uint32_t ch_montrig_mask;/* MNF trig mask */
259
29 */
30
31/**
32 * HyperV definitions for messages that are sent between instances of the
33 * Channel Management Library in separate partitions, or in some cases,
34 * back to itself.
35 */
36

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

252
253 /*
254 * These are based on the offer_msg.monitor_id.
255 * Save it here for easy access.
256 */
257 int ch_montrig_idx; /* MNF trig index */
258 uint32_t ch_montrig_mask;/* MNF trig mask */
259
260 uint32_t ring_buffer_gpadl_handle;
261 /*
260 /*
262 * Allocated memory for ring buffer
263 */
264 void* ring_buffer_pages;
265 unsigned long ring_buffer_size;
266 uint32_t ring_buffer_page_count;
267 /*
268 * send to parent
269 */
270 hv_vmbus_ring_buffer_info outbound;
271 /*
272 * receive from parent
273 */
274 hv_vmbus_ring_buffer_info inbound;
275

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

307
308 /*
309 * Driver private data
310 */
311 void *hv_chan_priv1;
312 void *hv_chan_priv2;
313 void *hv_chan_priv3;
314
261 * send to parent
262 */
263 hv_vmbus_ring_buffer_info outbound;
264 /*
265 * receive from parent
266 */
267 hv_vmbus_ring_buffer_info inbound;
268

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

300
301 /*
302 * Driver private data
303 */
304 void *hv_chan_priv1;
305 void *hv_chan_priv2;
306 void *hv_chan_priv3;
307
308 void *ch_bufring; /* TX+RX bufrings */
309 struct hyperv_dma ch_bufring_dma;
310 uint32_t ch_bufring_gpadl;
311
315 struct task ch_detach_task;
316 TAILQ_ENTRY(hv_vmbus_channel) ch_prilink; /* primary chan link */
317 uint32_t ch_subidx; /* subchan index */
318 volatile uint32_t ch_stflags; /* atomic-op */
319 /* VMBUS_CHAN_ST_ */
320 struct hyperv_guid ch_guid_type;
321 struct hyperv_guid ch_guid_inst;
322

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

404 /* page-size multiple */
405 uint32_t size,
406 uint32_t* gpadl_handle);
407
408int hv_vmbus_channel_teardown_gpdal(
409 hv_vmbus_channel* channel,
410 uint32_t gpadl_handle);
411
312 struct task ch_detach_task;
313 TAILQ_ENTRY(hv_vmbus_channel) ch_prilink; /* primary chan link */
314 uint32_t ch_subidx; /* subchan index */
315 volatile uint32_t ch_stflags; /* atomic-op */
316 /* VMBUS_CHAN_ST_ */
317 struct hyperv_guid ch_guid_type;
318 struct hyperv_guid ch_guid_inst;
319

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

401 /* page-size multiple */
402 uint32_t size,
403 uint32_t* gpadl_handle);
404
405int hv_vmbus_channel_teardown_gpdal(
406 hv_vmbus_channel* channel,
407 uint32_t gpadl_handle);
408
409int vmbus_chan_gpadl_connect(struct hv_vmbus_channel *chan,
410 bus_addr_t paddr, int size, uint32_t *gpadl);
411
412struct hv_vmbus_channel* vmbus_select_outgoing_channel(struct hv_vmbus_channel *promary);
413
414void vmbus_channel_cpu_set(struct hv_vmbus_channel *chan, int cpu);
415void vmbus_channel_cpu_rr(struct hv_vmbus_channel *chan);
416struct hv_vmbus_channel **
417 vmbus_get_subchan(struct hv_vmbus_channel *pri_chan, int subchan_cnt);
418void vmbus_rel_subchan(struct hv_vmbus_channel **subchan, int subchan_cnt);
419void vmbus_drain_subchan(struct hv_vmbus_channel *pri_chan);

--- 19 unchanged lines hidden ---
412struct hv_vmbus_channel* vmbus_select_outgoing_channel(struct hv_vmbus_channel *promary);
413
414void vmbus_channel_cpu_set(struct hv_vmbus_channel *chan, int cpu);
415void vmbus_channel_cpu_rr(struct hv_vmbus_channel *chan);
416struct hv_vmbus_channel **
417 vmbus_get_subchan(struct hv_vmbus_channel *pri_chan, int subchan_cnt);
418void vmbus_rel_subchan(struct hv_vmbus_channel **subchan, int subchan_cnt);
419void vmbus_drain_subchan(struct hv_vmbus_channel *pri_chan);

--- 19 unchanged lines hidden ---