hyperv.h (307303) | hyperv.h (307306) |
---|---|
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 307303 2016-10-14 08:14:51Z sephe $ | 28 * $FreeBSD: stable/11/sys/dev/hyperv/include/hyperv.h 307306 2016-10-14 08:34:44Z 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 --- 495 unchanged lines hidden (view full) --- 532 } u; 533 534} __packed hv_vmbus_connection_id; 535 536typedef struct hv_vmbus_channel { 537 struct hv_device* device; 538 struct vmbus_softc *vmbus_sc; 539 hv_vmbus_channel_state state; | 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 --- 495 unchanged lines hidden (view full) --- 532 } u; 533 534} __packed hv_vmbus_connection_id; 535 536typedef struct hv_vmbus_channel { 537 struct hv_device* device; 538 struct vmbus_softc *vmbus_sc; 539 hv_vmbus_channel_state state; |
540 hv_vmbus_channel_offer_channel offer_msg; | 540 uint32_t ch_flags; /* VMBUS_CHAN_FLAG_ */ 541 uint32_t ch_id; /* channel id */ |
541 /* 542 * These are based on the offer_msg.monitor_id. 543 * Save it here for easy access. 544 */ 545 uint8_t monitor_group; 546 uint8_t monitor_bit; 547 548 uint32_t ring_buffer_gpadl_handle; --- 74 unchanged lines hidden (view full) --- 623 * Driver private data 624 */ 625 void *hv_chan_priv1; 626 void *hv_chan_priv2; 627 void *hv_chan_priv3; 628 629 struct task ch_detach_task; 630 TAILQ_ENTRY(hv_vmbus_channel) ch_link; | 542 /* 543 * These are based on the offer_msg.monitor_id. 544 * Save it here for easy access. 545 */ 546 uint8_t monitor_group; 547 uint8_t monitor_bit; 548 549 uint32_t ring_buffer_gpadl_handle; --- 74 unchanged lines hidden (view full) --- 624 * Driver private data 625 */ 626 void *hv_chan_priv1; 627 void *hv_chan_priv2; 628 void *hv_chan_priv3; 629 630 struct task ch_detach_task; 631 TAILQ_ENTRY(hv_vmbus_channel) ch_link; |
632 uint32_t ch_subidx; /* subchan index */ |
|
631 | 633 |
634 struct hv_guid ch_guid_type; 635 struct hv_guid ch_guid_inst; 636 |
|
632 struct sysctl_ctx_list ch_sysctl_ctx; 633} hv_vmbus_channel; 634 635#define HV_VMBUS_CHAN_ISPRIMARY(chan) ((chan)->primary_channel == NULL) 636 | 637 struct sysctl_ctx_list ch_sysctl_ctx; 638} hv_vmbus_channel; 639 640#define HV_VMBUS_CHAN_ISPRIMARY(chan) ((chan)->primary_channel == NULL) 641 |
642#define VMBUS_CHAN_FLAG_HASMNF 0x0001 643 |
|
637static inline void 638hv_set_channel_read_state(hv_vmbus_channel* channel, boolean_t state) 639{ 640 channel->batched_reading = state; 641} 642 643typedef struct hv_device { 644 hv_guid class_id; --- 89 unchanged lines hidden --- | 644static inline void 645hv_set_channel_read_state(hv_vmbus_channel* channel, boolean_t state) 646{ 647 channel->batched_reading = state; 648} 649 650typedef struct hv_device { 651 hv_guid class_id; --- 89 unchanged lines hidden --- |