From: John Wolfe Date: Fri, 11 Sep 2020 19:11:03 +0000 (-0700) Subject: Get rid of vmware_pack files (devices edition) X-Git-Tag: stable-11.2.0~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=606ed341010cec4a3c32233ba47e88aca9eb7b4d;p=thirdparty%2Fopen-vm-tools.git Get rid of vmware_pack files (devices edition) gcc supports the Microsoft-style "pragma pack" syntax. Standardize on it. The conversion is somewhat non-trivial, as gcc requires "pragma" to be before or after a statement, not in the middle. --- diff --git a/open-vm-tools/modules/shared/vmxnet/upt1_defs.h b/open-vm-tools/modules/shared/vmxnet/upt1_defs.h index f16e73b4f..42abc9bb6 100644 --- a/open-vm-tools/modules/shared/vmxnet/upt1_defs.h +++ b/open-vm-tools/modules/shared/vmxnet/upt1_defs.h @@ -47,9 +47,8 @@ #define UPT1_MAX_INTRS (UPT1_MAX_TX_QUEUES + UPT1_MAX_RX_QUEUES) -typedef -#include "vmware_pack_begin.h" -struct UPT1_TxStats { +#pragma pack(push, 1) +typedef struct UPT1_TxStats { uint64 TSOPktsTxOK; /* TSO pkts post-segmentation */ uint64 TSOBytesTxOK; uint64 ucastPktsTxOK; @@ -60,13 +59,11 @@ struct UPT1_TxStats { uint64 bcastBytesTxOK; uint64 pktsTxError; uint64 pktsTxDiscard; -} -#include "vmware_pack_end.h" -UPT1_TxStats; +} UPT1_TxStats; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct UPT1_RxStats { +#pragma pack(push, 1) +typedef struct UPT1_RxStats { uint64 LROPktsRxOK; /* LRO pkts */ uint64 LROBytesRxOK; /* bytes from LRO pkts */ /* the following counters are for pkts from the wire, i.e., pre-LRO */ @@ -78,9 +75,8 @@ struct UPT1_RxStats { uint64 bcastBytesRxOK; uint64 pktsRxOutOfBuf; uint64 pktsRxError; -} -#include "vmware_pack_end.h" -UPT1_RxStats; +} UPT1_RxStats; +#pragma pack(pop) /* interrupt moderation level */ #define UPT1_IML_NONE 0 /* no interrupt moderation */ @@ -106,18 +102,16 @@ typedef enum { #define UPT1_RSS_MAX_KEY_SIZE 40 #define UPT1_RSS_MAX_IND_TABLE_SIZE 128 -typedef -#include "vmware_pack_begin.h" -struct UPT1_RSSConf { +#pragma pack(push, 1) +typedef struct UPT1_RSSConf { uint16 hashType; uint16 hashFunc; uint16 hashKeySize; uint16 indTableSize; uint8 hashKey[UPT1_RSS_MAX_KEY_SIZE]; uint8 indTable[UPT1_RSS_MAX_IND_TABLE_SIZE]; -} -#include "vmware_pack_end.h" -UPT1_RSSConf; +} UPT1_RSSConf; +#pragma pack(pop) /* features */ #define UPT1_F_RXCSUM 0x0001 /* rx csum verification */ diff --git a/open-vm-tools/modules/shared/vmxnet/vmxnet3_defs.h b/open-vm-tools/modules/shared/vmxnet/vmxnet3_defs.h index 95d565e89..54cac97c6 100644 --- a/open-vm-tools/modules/shared/vmxnet/vmxnet3_defs.h +++ b/open-vm-tools/modules/shared/vmxnet/vmxnet3_defs.h @@ -169,9 +169,8 @@ typedef enum { * bit fields written by big endian driver to format required by device. */ -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_TxDesc { +#pragma pack(push, 1) +typedef struct Vmxnet3_TxDesc { __le64 addr; #ifdef __BIG_ENDIAN_BITFIELD @@ -207,9 +206,8 @@ struct Vmxnet3_TxDesc { uint32 ti:1; /* VLAN Tag Insertion */ uint32 tci:16; /* Tag to Insert */ #endif /* __BIG_ENDIAN_BITFIELD */ -} -#include "vmware_pack_end.h" -Vmxnet3_TxDesc; +} Vmxnet3_TxDesc; +#pragma pack(pop) /* TxDesc.OM values */ #define VMXNET3_OM_NONE 0 /* 0b00 */ @@ -232,13 +230,11 @@ Vmxnet3_TxDesc; #define VMXNET3_TXD_EOP_SIZE 1 #define VMXNET3_HDR_COPY_SIZE 128 -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_TxDataDesc { +#pragma pack(push, 1) +typedef struct Vmxnet3_TxDataDesc { uint8 data[VMXNET3_HDR_COPY_SIZE]; -} -#include "vmware_pack_end.h" -Vmxnet3_TxDataDesc; +} Vmxnet3_TxDataDesc; +#pragma pack(pop) typedef uint8 Vmxnet3_RxDataDesc; #define VMXNET3_TCD_GEN_SHIFT 31 @@ -247,9 +243,8 @@ typedef uint8 Vmxnet3_RxDataDesc; #define VMXNET3_TCD_TXIDX_SIZE 12 #define VMXNET3_TCD_GEN_DWORD_SHIFT 3 -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_TxCompDesc { +#pragma pack(push, 1) +typedef struct Vmxnet3_TxCompDesc { uint32 txdIdx:12; /* Index of the EOP TxDesc */ uint32 ext1:20; @@ -259,13 +254,11 @@ struct Vmxnet3_TxCompDesc { uint32 rsvd:24; uint32 type:7; /* completion type */ uint32 gen:1; /* generation bit */ -} -#include "vmware_pack_end.h" -Vmxnet3_TxCompDesc; +} Vmxnet3_TxCompDesc; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_RxDesc { +#pragma pack(push, 1) +typedef struct Vmxnet3_RxDesc { __le64 addr; #ifdef __BIG_ENDIAN_BITFIELD @@ -282,9 +275,8 @@ struct Vmxnet3_RxDesc { uint32 gen:1; /* Generation bit */ #endif __le32 ext1; -} -#include "vmware_pack_end.h" -Vmxnet3_RxDesc; +} Vmxnet3_RxDesc; +#pragma pack(pop) /* values of RXD.BTYPE */ #define VMXNET3_RXD_BTYPE_HEAD 0 /* head only */ @@ -297,9 +289,8 @@ Vmxnet3_RxDesc; #define VMXNET3_RCD_HDR_INNER_SHIFT 13 #define VMXNET3_RCD_RSS_INNER_SHIFT 12 -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_RxCompDesc { +#pragma pack(push, 1) +typedef struct Vmxnet3_RxCompDesc { #ifdef __BIG_ENDIAN_BITFIELD uint32 ext2:1; uint32 cnc:1; /* Checksum Not Calculated */ @@ -362,13 +353,11 @@ struct Vmxnet3_RxCompDesc { uint32 type:7; /* completion type */ uint32 gen:1; /* generation bit */ #endif /* __BIG_ENDIAN_BITFIELD */ -} -#include "vmware_pack_end.h" -Vmxnet3_RxCompDesc; +} Vmxnet3_RxCompDesc; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_RxCompDescExt { +#pragma pack(push, 1) +typedef struct Vmxnet3_RxCompDescExt { __le32 dword1; uint8 segCnt; /* Number of aggregated packets */ uint8 dupAckCnt; /* Number of duplicate Acks */ @@ -407,9 +396,8 @@ struct Vmxnet3_RxCompDescExt { uint32 type:7; /* completion type */ uint32 gen:1; /* generation bit */ #endif /* __BIG_ENDIAN_BITFIELD */ -} -#include "vmware_pack_end.h" -Vmxnet3_RxCompDescExt; +} Vmxnet3_RxCompDescExt; +#pragma pack(pop) /* fields in RxCompDesc we access via Vmxnet3_GenericDesc.dword[3] */ #define VMXNET3_RCD_TUC_SHIFT 16 @@ -521,9 +509,8 @@ typedef union Vmxnet3_GenericDesc { /* All structures in DriverShared are padded to multiples of 8 bytes */ -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_GOSInfo { +#pragma pack(push, 1) +typedef struct Vmxnet3_GOSInfo { #ifdef __BIG_ENDIAN_BITFIELD uint32 gosMisc: 10; /* other info about gos */ uint32 gosVer: 16; /* gos version */ @@ -535,20 +522,17 @@ struct Vmxnet3_GOSInfo { uint32 gosVer: 16; /* gos version */ uint32 gosMisc: 10; /* other info about gos */ #endif /* __BIG_ENDIAN_BITFIELD */ -} -#include "vmware_pack_end.h" -Vmxnet3_GOSInfo; +} Vmxnet3_GOSInfo; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_DriverInfo { +#pragma pack(push, 1) +typedef struct Vmxnet3_DriverInfo { __le32 version; /* driver version */ Vmxnet3_GOSInfo gos; __le32 vmxnet3RevSpt; /* vmxnet3 revision supported */ __le32 uptVerSpt; /* upt version supported */ -} -#include "vmware_pack_end.h" -Vmxnet3_DriverInfo; +} Vmxnet3_DriverInfo; +#pragma pack(pop) #define VMXNET3_REV1_MAGIC 0xbabefee1 @@ -560,9 +544,8 @@ Vmxnet3_DriverInfo; */ #define VMXNET3_QUEUE_DESC_ALIGN 128 -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_MiscConf { +#pragma pack(push, 1) +typedef struct Vmxnet3_MiscConf { Vmxnet3_DriverInfo driverInfo; __le64 uptFeatures; __le64 ddPA; /* driver data PA */ @@ -574,13 +557,11 @@ struct Vmxnet3_MiscConf { uint8 numTxQueues; uint8 numRxQueues; __le32 reserved[4]; -} -#include "vmware_pack_end.h" -Vmxnet3_MiscConf; +} Vmxnet3_MiscConf; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_TxQueueConf { +#pragma pack(push, 1) +typedef struct Vmxnet3_TxQueueConf { __le64 txRingBasePA; __le64 dataRingBasePA; __le64 compRingBasePA; @@ -594,13 +575,11 @@ struct Vmxnet3_TxQueueConf { uint8 _pad1[1]; __le16 txDataRingDescSize; uint8 _pad2[4]; -} -#include "vmware_pack_end.h" -Vmxnet3_TxQueueConf; +} Vmxnet3_TxQueueConf; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_RxQueueConf { +#pragma pack(push, 1) +typedef struct Vmxnet3_RxQueueConf { __le64 rxRingBasePA[2]; __le64 compRingBasePA; __le64 ddPA; /* driver data */ @@ -612,9 +591,8 @@ struct Vmxnet3_RxQueueConf { uint8 _pad1[1]; __le16 rxDataRingDescSize; /* size of rx data ring buffer */ uint8 _pad2[4]; -} -#include "vmware_pack_end.h" -Vmxnet3_RxQueueConf; +} Vmxnet3_RxQueueConf; +#pragma pack(pop) enum vmxnet3_intr_mask_mode { VMXNET3_IMM_AUTO = 0, @@ -655,52 +633,43 @@ enum Vmxnet3_CoalesceMode { VMXNET3_COALESCE_RBC = 3 }; -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_CoalesceRbc { +#pragma pack(push, 1) +typedef struct Vmxnet3_CoalesceRbc { uint32 rbc_rate; -} -#include "vmware_pack_end.h" -Vmxnet3_CoalesceRbc; +} Vmxnet3_CoalesceRbc; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_CoalesceStatic { +#pragma pack(push, 1) +typedef struct Vmxnet3_CoalesceStatic { uint32 tx_depth; uint32 tx_comp_depth; uint32 rx_depth; -} -#include "vmware_pack_end.h" -Vmxnet3_CoalesceStatic; +} Vmxnet3_CoalesceStatic; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_CoalesceScheme { +#pragma pack(push, 1) +typedef struct Vmxnet3_CoalesceScheme { enum Vmxnet3_CoalesceMode coalMode; union { Vmxnet3_CoalesceRbc coalRbc; Vmxnet3_CoalesceStatic coalStatic; } coalPara; -} -#include "vmware_pack_end.h" -Vmxnet3_CoalesceScheme; +} Vmxnet3_CoalesceScheme; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_IntrConf { +#pragma pack(push, 1) +typedef struct Vmxnet3_IntrConf { uint8 autoMask; /* on/off flag */ uint8 numIntrs; /* # of interrupts */ uint8 eventIntrIdx; uint8 modLevels[VMXNET3_MAX_INTRS]; /* moderation level for each intr */ __le32 intrCtrl; __le32 reserved[2]; -} -#include "vmware_pack_end.h" -Vmxnet3_IntrConf; +} Vmxnet3_IntrConf; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_IntrConfExt { +#pragma pack(push, 1) +typedef struct Vmxnet3_IntrConfExt { uint8 autoMask; uint8 numIntrs; /* # of interrupts */ uint8 eventIntrIdx; @@ -709,42 +678,35 @@ struct Vmxnet3_IntrConfExt { __le32 reserved1; uint8 modLevels[VMXNET3_EXT_MAX_INTRS]; /* moderation level for each intr */ uint8 reserved2[3]; -} -#include "vmware_pack_end.h" -Vmxnet3_IntrConfExt; +} Vmxnet3_IntrConfExt; +#pragma pack(pop) /* one bit per VLAN ID, the size is in the units of uint32 */ #define VMXNET3_VFT_SIZE (4096 / (sizeof(uint32) * 8)) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_QueueStatus { +#pragma pack(push, 1) +typedef struct Vmxnet3_QueueStatus { uint8 stopped; /* on/off flag */ uint8 _pad[3]; __le32 error; -} -#include "vmware_pack_end.h" -Vmxnet3_QueueStatus; +} Vmxnet3_QueueStatus; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_TxQueueCtrl { +#pragma pack(push, 1) +typedef struct Vmxnet3_TxQueueCtrl { __le32 txNumDeferred; __le32 txThreshold; __le64 reserved; -} -#include "vmware_pack_end.h" -Vmxnet3_TxQueueCtrl; +} Vmxnet3_TxQueueCtrl; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_RxQueueCtrl { +#pragma pack(push, 1) +typedef struct Vmxnet3_RxQueueCtrl { uint8 updateRxProd; /* on/off flag */ uint8 _pad[7]; __le64 reserved; -} -#include "vmware_pack_end.h" -Vmxnet3_RxQueueCtrl; +} Vmxnet3_RxQueueCtrl; +#pragma pack(pop) #define VMXNET3_RXM_UCAST 0x01 /* unicast only */ #define VMXNET3_RXM_MCAST 0x02 /* multicast passing the filters */ @@ -752,17 +714,15 @@ Vmxnet3_RxQueueCtrl; #define VMXNET3_RXM_ALL_MULTI 0x08 /* all multicast */ #define VMXNET3_RXM_PROMISC 0x10 /* promiscuous */ -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_RxFilterConf { +#pragma pack(push, 1) +typedef struct Vmxnet3_RxFilterConf { __le32 rxMode; /* VMXNET3_RXM_xxx */ __le16 mfTableLen; /* size of the multicast filter table */ __le16 _pad1; __le64 mfTablePA; /* PA of the multicast filters table */ __le32 vfTable[VMXNET3_VFT_SIZE]; /* vlan filter */ -} -#include "vmware_pack_end.h" -Vmxnet3_RxFilterConf; +} Vmxnet3_RxFilterConf; +#pragma pack(pop) #define ETH_ADDR_LENGTH 6 @@ -779,18 +739,15 @@ typedef enum { VMXNET3_PKTSTEERING_ACTION_MAX, } Vmxnet3_PktSteeringAction; -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PktSteeringActionData { +#pragma pack(push, 1) +typedef struct Vmxnet3_PktSteeringActionData { uint8_t action; /* enum Vmxnet3PktSteeringAction */ uint8_t rxQid; -} -#include "vmware_pack_end.h" -Vmxnet3_PktSteeringActionData; +} Vmxnet3_PktSteeringActionData; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PktSteeringInput { +#pragma pack(push, 1) +typedef struct Vmxnet3_PktSteeringInput { uint16_t l3proto; uint8_t l4proto; uint8_t pad; @@ -811,13 +768,11 @@ struct Vmxnet3_PktSteeringInput { Eth_Address dstMAC; Eth_Address srcMAC; -} -#include "vmware_pack_end.h" -Vmxnet3_PktSteeringInput; +} Vmxnet3_PktSteeringInput; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PktSteeringGeneveInput { +#pragma pack(push, 1) +typedef struct Vmxnet3_PktSteeringGeneveInput { #ifdef __BIG_ENDIAN_BITFIELD uint32 optionsLength:6; /* Length of options (in 4 bytes multiple) */ uint32 version:2; /* Geneve protocol version */ @@ -841,24 +796,20 @@ struct Vmxnet3_PktSteeringGeneveInput { uint32 reserved2:8; /* Reserved bits */ uint32 virtualNetworkId:24; /* Virtual network identifier */ #endif /* __BIG_ENDIAN_BITFIELD */ -} -#include "vmware_pack_end.h" -Vmxnet3_PktSteeringGeneveInput; +} Vmxnet3_PktSteeringGeneveInput; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PktSteeringFilterConfExt { +#pragma pack(push, 1) +typedef struct Vmxnet3_PktSteeringFilterConfExt { Vmxnet3_PktSteeringGeneveInput ghSpec; /* geneve hdr spec */ Vmxnet3_PktSteeringGeneveInput ghMask; /* geneve hdr mask */ Vmxnet3_PktSteeringInput ohSpec; /* outer hdr spec */ Vmxnet3_PktSteeringInput ohMask; /* outer hdr mask */ -} -#include "vmware_pack_end.h" -Vmxnet3_PktSteeringFilterConfExt; +} Vmxnet3_PktSteeringFilterConfExt; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PktSteeringFilterConf { +#pragma pack(push, 1) +typedef struct Vmxnet3_PktSteeringFilterConf { uint8_t version; uint8_t priority; Vmxnet3_PktSteeringActionData actionData; @@ -876,28 +827,23 @@ struct Vmxnet3_PktSteeringFilterConf { /* Following this structure is Vmxnet3_PktSteeringFilterConfExt * in case isExtValid is true. */ -} -#include "vmware_pack_end.h" -Vmxnet3_PktSteeringFilterConf; +} Vmxnet3_PktSteeringFilterConf; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PktSteeringVerInfo { +#pragma pack(push, 1) +typedef struct Vmxnet3_PktSteeringVerInfo { uint8_t version; uint8_t pad; uint16_t maxMasks; uint32_t maxFilters; -} -#include "vmware_pack_end.h" -Vmxnet3_PktSteeringVerInfo; +} Vmxnet3_PktSteeringVerInfo; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PktSteeringFilterStats { +#pragma pack(push, 1) +typedef struct Vmxnet3_PktSteeringFilterStats { uint64_t packets; -} -#include "vmware_pack_end.h" -Vmxnet3_PktSteeringFilterStats; +} Vmxnet3_PktSteeringFilterStats; +#pragma pack(pop) typedef enum { VMXNET3_PKTSTEERING_CMD_GET_VER = 0x0, /* start of GET commands */ @@ -908,17 +854,15 @@ typedef enum { VMXNET3_PKTSTEERING_CMD_FLUSH, } Vmxnet3_PktSteeringCmd; -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PktSteeringCmdMsg { +#pragma pack(push, 1) +typedef struct Vmxnet3_PktSteeringCmdMsg { uint16_t cmd; /* enum Vmxnet3PktSteeringCmd */ uint16_t msgSize; uint32_t outputLen; uint64_t outputPA; Vmxnet3_PktSteeringFilterConf fConf; -} -#include "vmware_pack_end.h" -Vmxnet3_PktSteeringCmdMsg; +} Vmxnet3_PktSteeringCmdMsg; +#pragma pack(pop) #define VMXNET3_PM_MAX_FILTERS 6 #define VMXNET3_PM_MAX_PATTERN_SIZE 128 @@ -927,42 +871,35 @@ Vmxnet3_PktSteeringCmdMsg; #define VMXNET3_PM_WAKEUP_MAGIC 0x01 /* wake up on magic pkts */ #define VMXNET3_PM_WAKEUP_FILTER 0x02 /* wake up on pkts matching filters */ -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PM_PktFilter { +#pragma pack(push, 1) +typedef struct Vmxnet3_PM_PktFilter { uint8 maskSize; uint8 patternSize; uint8 mask[VMXNET3_PM_MAX_MASK_SIZE]; uint8 pattern[VMXNET3_PM_MAX_PATTERN_SIZE]; uint8 pad[6]; -} -#include "vmware_pack_end.h" -Vmxnet3_PM_PktFilter; +} Vmxnet3_PM_PktFilter; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_PMConf { +#pragma pack(push, 1) +typedef struct Vmxnet3_PMConf { __le16 wakeUpEvents; /* VMXNET3_PM_WAKEUP_xxx */ uint8 numFilters; uint8 pad[5]; Vmxnet3_PM_PktFilter filters[VMXNET3_PM_MAX_FILTERS]; -} -#include "vmware_pack_end.h" -Vmxnet3_PMConf; +} Vmxnet3_PMConf; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_VariableLenConfDesc { +#pragma pack(push, 1) +typedef struct Vmxnet3_VariableLenConfDesc { __le32 confVer; __le32 confLen; __le64 confPA; -} -#include "vmware_pack_end.h" -Vmxnet3_VariableLenConfDesc; +} Vmxnet3_VariableLenConfDesc; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_DSDevRead { +#pragma pack(push, 1) +typedef struct Vmxnet3_DSDevRead { /* read-only region for device, read by dev in response to a SET cmd */ Vmxnet3_MiscConf misc; Vmxnet3_IntrConf intrConf; @@ -970,57 +907,46 @@ struct Vmxnet3_DSDevRead { Vmxnet3_VariableLenConfDesc rssConfDesc; Vmxnet3_VariableLenConfDesc pmConfDesc; Vmxnet3_VariableLenConfDesc pluginConfDesc; -} -#include "vmware_pack_end.h" -Vmxnet3_DSDevRead; +} Vmxnet3_DSDevRead; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_DSDevReadExt { +#pragma pack(push, 1) +typedef struct Vmxnet3_DSDevReadExt { /* read-only region for device, read by dev in response to a SET cmd */ Vmxnet3_IntrConfExt intrConfExt; -} -#include "vmware_pack_end.h" -Vmxnet3_DSDevReadExt; +} Vmxnet3_DSDevReadExt; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_TxQueueDesc { +#pragma pack(push, 1) +typedef struct Vmxnet3_TxQueueDesc { Vmxnet3_TxQueueCtrl ctrl; Vmxnet3_TxQueueConf conf; /* Driver read after a GET command */ Vmxnet3_QueueStatus status; UPT1_TxStats stats; uint8 _pad[88]; /* 128 aligned */ -} -#include "vmware_pack_end.h" -Vmxnet3_TxQueueDesc; +} Vmxnet3_TxQueueDesc; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_RxQueueDesc { +#pragma pack(push, 1) +typedef struct Vmxnet3_RxQueueDesc { Vmxnet3_RxQueueCtrl ctrl; Vmxnet3_RxQueueConf conf; /* Driver read after a GET command */ Vmxnet3_QueueStatus status; UPT1_RxStats stats; uint8 _pad[88]; /* 128 aligned */ -} -#include "vmware_pack_end.h" -Vmxnet3_RxQueueDesc; +} Vmxnet3_RxQueueDesc; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_SetPolling { +#pragma pack(push, 1) +typedef struct Vmxnet3_SetPolling { uint8 enablePolling; -} -#include "vmware_pack_end.h" -Vmxnet3_SetPolling; +} Vmxnet3_SetPolling; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" - -struct Vmxnet3_MemoryRegion { +#pragma pack(push, 1) +typedef struct Vmxnet3_MemoryRegion { __le64 startPA; // starting physical address __le32 length; // limit the length to be less than 4G /* @@ -1029,9 +955,8 @@ struct Vmxnet3_MemoryRegion { */ __le16 txQueueBits; // bit n corresponding to tx queue n __le16 rxQueueBits; // bit n corresponding to rx queueb n -} -#include "vmware_pack_end.h" -Vmxnet3_MemoryRegion; +} Vmxnet3_MemoryRegion; +#pragma pack(pop) /* * Assume each queue can have upto 16 memory region @@ -1044,15 +969,13 @@ Vmxnet3_MemoryRegion; #define MAX_MEMORY_REGION_PER_QUEUE 16 #define MAX_MEMORY_REGION_PER_DEVICE (16 * 16) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_MemRegs { +#pragma pack(push, 1) +typedef struct Vmxnet3_MemRegs { __le16 numRegs; __le16 pad[3]; Vmxnet3_MemoryRegion memRegs[1]; -} -#include "vmware_pack_end.h" -Vmxnet3_MemRegs; +} Vmxnet3_MemRegs; +#pragma pack(pop) typedef enum Vmxnet3_RSSField { VMXNET3_RSS_FIELDS_TCPIP4 = 0x1UL, @@ -1072,14 +995,12 @@ typedef enum Vmxnet3_RSSField { VMXNET3_RSS_FIELDS_INNER_ESPIP6 = 0x8000UL, } Vmxnet3_RSSField; -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_EncapDstPort { +#pragma pack(push, 1) +typedef struct Vmxnet3_EncapDstPort { __le16 geneveDstPort; __le16 vxlanDstPort; -} -#include "vmware_pack_end.h" -Vmxnet3_EncapDstPort; +} Vmxnet3_EncapDstPort; +#pragma pack(pop) /* * Based on index from ESP SPI, how to map the index to the rx queue ID. @@ -1101,9 +1022,8 @@ typedef enum Vmxnet3_ESPQueueSelectionAlgo { VMXNET3_ESP_QS_MAX, } Vmxnet3_ESPQueueSelectionAlgo; -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_ESPQueueSelectionConf { +#pragma pack(push, 1) +typedef struct Vmxnet3_ESPQueueSelectionConf { uint8 spiStartBit; /* from least significant bit of SPI. */ uint8 spiMaskWidth; /* how many bits in SPI will be used. */ uint16 qsAlgo; /* see Vmxnet3_ESPQueueSelectionAlgo */ @@ -1111,31 +1031,27 @@ struct Vmxnet3_ESPQueueSelectionConf { * qsAlgo is VMXNET3_ESP_QS_QUEUE_MASK. */ uint32 espQueueMask; /* max of 32 queues supported */ -} -#include "vmware_pack_end.h" -Vmxnet3_ESPQueueSelectionConf; +} Vmxnet3_ESPQueueSelectionConf; +#pragma pack(pop) /* * If a command data does not exceed 16 bytes, it can use * the shared memory directly. Otherwise use variable length * configuration descriptor to pass the data. */ -typedef -#include "vmware_pack_begin.h" -union Vmxnet3_CmdInfo { +#pragma pack(push, 1) +typedef union Vmxnet3_CmdInfo { Vmxnet3_VariableLenConfDesc varConf; Vmxnet3_SetPolling setPolling; Vmxnet3_RSSField setRSSFields; Vmxnet3_EncapDstPort encapDstPort; Vmxnet3_ESPQueueSelectionConf espQSConf; __le64 data[2]; -} -#include "vmware_pack_end.h" -Vmxnet3_CmdInfo; +} Vmxnet3_CmdInfo; +#pragma pack(pop) -typedef -#include "vmware_pack_begin.h" -struct Vmxnet3_DriverShared { +#pragma pack(push, 1) +typedef struct Vmxnet3_DriverShared { __le32 magic; __le32 pad; /* make devRead start at 64-bit boundaries */ Vmxnet3_DSDevRead devRead; @@ -1148,9 +1064,8 @@ struct Vmxnet3_DriverShared { */ } cu; Vmxnet3_DSDevReadExt devReadExt; -} -#include "vmware_pack_end.h" -Vmxnet3_DriverShared; +} Vmxnet3_DriverShared; +#pragma pack(pop) #define VMXNET3_ECR_RQERR (1 << 0) #define VMXNET3_ECR_TQERR (1 << 1)