vmbus_reg.h (307456) | vmbus_reg.h (307457) |
---|---|
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 307456 2016-10-17 02:34:13Z sephe $ | 26 * $FreeBSD: stable/11/sys/dev/hyperv/vmbus/vmbus_reg.h 307457 2016-10-17 02:36:49Z sephe $ |
27 */ 28 29#ifndef _VMBUS_REG_H_ 30#define _VMBUS_REG_H_ 31 32#include <sys/param.h> 33#include <dev/hyperv/include/hyperv.h> /* XXX for hyperv_guid */ 34#include <dev/hyperv/include/vmbus.h> --- 72 unchanged lines hidden (view full) --- 107 108#define VMBUS_CHAN_MAX_COMPAT 256 109#define VMBUS_CHAN_MAX (VMBUS_EVTFLAG_LEN * VMBUS_EVTFLAGS_MAX) 110 111/* 112 * Channel packets 113 */ 114 | 27 */ 28 29#ifndef _VMBUS_REG_H_ 30#define _VMBUS_REG_H_ 31 32#include <sys/param.h> 33#include <dev/hyperv/include/hyperv.h> /* XXX for hyperv_guid */ 34#include <dev/hyperv/include/vmbus.h> --- 72 unchanged lines hidden (view full) --- 107 108#define VMBUS_CHAN_MAX_COMPAT 256 109#define VMBUS_CHAN_MAX (VMBUS_EVTFLAG_LEN * VMBUS_EVTFLAGS_MAX) 110 111/* 112 * Channel packets 113 */ 114 |
115#define VMBUS_CHANPKT_SIZE_SHIFT 3 | |
116#define VMBUS_CHANPKT_SIZE_ALIGN (1 << VMBUS_CHANPKT_SIZE_SHIFT) 117 118#define VMBUS_CHANPKT_SETLEN(pktlen, len) \ 119do { \ 120 (pktlen) = (len) >> VMBUS_CHANPKT_SIZE_SHIFT; \ 121} while (0) 122 123#define VMBUS_CHANPKT_TOTLEN(tlen) \ 124 roundup2((tlen), VMBUS_CHANPKT_SIZE_ALIGN) 125 | 115#define VMBUS_CHANPKT_SIZE_ALIGN (1 << VMBUS_CHANPKT_SIZE_SHIFT) 116 117#define VMBUS_CHANPKT_SETLEN(pktlen, len) \ 118do { \ 119 (pktlen) = (len) >> VMBUS_CHANPKT_SIZE_SHIFT; \ 120} while (0) 121 122#define VMBUS_CHANPKT_TOTLEN(tlen) \ 123 roundup2((tlen), VMBUS_CHANPKT_SIZE_ALIGN) 124 |
126struct vmbus_chanpkt_hdr { 127 uint16_t cph_type; 128 uint16_t cph_hlen; /* header len, in 8 bytes */ 129 uint16_t cph_tlen; /* total len, in 8 bytes */ 130 uint16_t cph_flags; 131 uint64_t cph_xactid; 132} __packed; 133 | |
134struct vmbus_chanpkt { 135 struct vmbus_chanpkt_hdr cp_hdr; 136} __packed; 137 138struct vmbus_chanpkt_sglist { 139 struct vmbus_chanpkt_hdr cp_hdr; 140 uint32_t cp_rsvd; 141 uint32_t cp_gpa_cnt; --- 170 unchanged lines hidden --- | 125struct vmbus_chanpkt { 126 struct vmbus_chanpkt_hdr cp_hdr; 127} __packed; 128 129struct vmbus_chanpkt_sglist { 130 struct vmbus_chanpkt_hdr cp_hdr; 131 uint32_t cp_rsvd; 132 uint32_t cp_gpa_cnt; --- 170 unchanged lines hidden --- |