From: Andre Muezerie <andremue@linux.microsoft.com>
To: roretzla@linux.microsoft.com
Cc: aman.deep.singh@intel.com, anatoly.burakov@intel.com,
bruce.richardson@intel.com, byron.marohn@intel.com,
conor.walsh@intel.com, cristian.dumitrescu@intel.com,
david.hunt@intel.com, dev@dpdk.org, dsosnowski@nvidia.com,
gakhil@marvell.com, jerinj@marvell.com, jingjing.wu@intel.com,
kirill.rybalchenko@intel.com, konstantin.v.ananyev@yandex.ru,
matan@nvidia.com, mb@smartsharesystems.com, orika@nvidia.com,
radu.nicolau@intel.com, ruifeng.wang@arm.com,
sameh.gobriel@intel.com, sivaprasad.tummala@amd.com,
skori@marvell.com, stephen@networkplumber.org,
suanmingm@nvidia.com, vattunuru@marvell.com,
viacheslavo@nvidia.com, vladimir.medvedkin@intel.com,
yipeng1.wang@intel.com,
Andre Muezerie <andremue@linux.microsoft.com>
Subject: [PATCH v8 07/29] drivers/bus: replace packed attributes
Date: Tue, 31 Dec 2024 10:37:49 -0800 [thread overview]
Message-ID: <1735670291-23224-8-git-send-email-andremue@linux.microsoft.com> (raw)
In-Reply-To: <1735670291-23224-1-git-send-email-andremue@linux.microsoft.com>
MSVC struct packing is not compatible with GCC. Replace macro
__rte_packed with __rte_packed_begin to push existing pack value
and set packing to 1-byte and macro __rte_packed_end to restore
the pack value prior to the push.
Macro __rte_packed_end is deliberately utilized to trigger a
MSVC compiler warning if no existing packing has been pushed allowing
easy identification of locations where the __rte_packed_begin is
missing.
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Reviewed-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
drivers/bus/dpaa/include/fsl_bman.h | 20 ++--
drivers/bus/dpaa/include/fsl_fman.h | 4 +-
drivers/bus/dpaa/include/fsl_qman.h | 160 +++++++++++++--------------
drivers/bus/ifpga/bus_ifpga_driver.h | 8 +-
drivers/bus/vmbus/rte_vmbus_reg.h | 108 +++++++++---------
5 files changed, 150 insertions(+), 150 deletions(-)
diff --git a/drivers/bus/dpaa/include/fsl_bman.h b/drivers/bus/dpaa/include/fsl_bman.h
index 34d7eb32ce..c0760149e1 100644
--- a/drivers/bus/dpaa/include/fsl_bman.h
+++ b/drivers/bus/dpaa/include/fsl_bman.h
@@ -86,7 +86,7 @@ static inline dma_addr_t bm_buf_addr(const struct bm_buffer *buf)
} while (0)
/* See 1.5.3.5.4: "Release Command" */
-struct bm_rcr_entry {
+struct __rte_packed_begin bm_rcr_entry {
union {
struct {
u8 __dont_write_directly__verb;
@@ -95,7 +95,7 @@ struct bm_rcr_entry {
};
struct bm_buffer bufs[8];
};
-} __packed;
+} __rte_packed_end;
#define BM_RCR_VERB_VBIT 0x80
#define BM_RCR_VERB_CMD_MASK 0x70 /* one of two values; */
#define BM_RCR_VERB_CMD_BPID_SINGLE 0x20
@@ -104,20 +104,20 @@ struct bm_rcr_entry {
/* See 1.5.3.1: "Acquire Command" */
/* See 1.5.3.2: "Query Command" */
-struct bm_mcc_acquire {
+struct __rte_packed_begin bm_mcc_acquire {
u8 bpid;
u8 __reserved1[62];
-} __packed;
-struct bm_mcc_query {
+} __rte_packed_end;
+struct __rte_packed_begin bm_mcc_query {
u8 __reserved2[63];
-} __packed;
-struct bm_mc_command {
+} __rte_packed_end;
+struct __rte_packed_begin bm_mc_command {
u8 __dont_write_directly__verb;
union {
struct bm_mcc_acquire acquire;
struct bm_mcc_query query;
};
-} __packed;
+} __rte_packed_end;
#define BM_MCC_VERB_VBIT 0x80
#define BM_MCC_VERB_CMD_MASK 0x70 /* where the verb contains; */
#define BM_MCC_VERB_CMD_ACQUIRE 0x10
@@ -136,7 +136,7 @@ struct bm_pool_state {
} as, ds;
};
-struct bm_mc_result {
+struct __rte_packed_begin bm_mc_result {
union {
struct {
u8 verb;
@@ -152,7 +152,7 @@ struct bm_mc_result {
} acquire;
struct bm_pool_state query;
};
-} __packed;
+} __rte_packed_end;
#define BM_MCR_VERB_VBIT 0x80
#define BM_MCR_VERB_CMD_MASK BM_MCC_VERB_CMD_MASK
#define BM_MCR_VERB_CMD_ACQUIRE BM_MCC_VERB_CMD_ACQUIRE
diff --git a/drivers/bus/dpaa/include/fsl_fman.h b/drivers/bus/dpaa/include/fsl_fman.h
index 5a9750ad0c..7acdcfc7f0 100644
--- a/drivers/bus/dpaa/include/fsl_fman.h
+++ b/drivers/bus/dpaa/include/fsl_fman.h
@@ -12,7 +12,7 @@
/* Status field in FD is updated on Rx side by FMAN with following information.
* Refer to field description in FM BG.
*/
-struct fm_status_t {
+struct __rte_packed_begin fm_status_t {
unsigned int reserved0:3;
unsigned int dcl4c:1; /* Don't Check L4 Checksum */
unsigned int reserved1:1;
@@ -38,7 +38,7 @@ struct fm_status_t {
unsigned int phe:1; /* Header Error during parsing */
unsigned int frdr:1; /* Frame Dropped by disabled port */
unsigned int reserved5:4;
-} __rte_packed;
+} __rte_packed_end;
/* Set MAC address for a particular interface */
__rte_internal
diff --git a/drivers/bus/dpaa/include/fsl_qman.h b/drivers/bus/dpaa/include/fsl_qman.h
index 25dbf72fd4..b949f2c893 100644
--- a/drivers/bus/dpaa/include/fsl_qman.h
+++ b/drivers/bus/dpaa/include/fsl_qman.h
@@ -221,7 +221,7 @@ static inline dma_addr_t qm_fd_addr(const struct qm_fd *fd)
} while (0)
/* Scatter/Gather table entry */
-struct qm_sg_entry {
+struct __rte_packed_begin qm_sg_entry {
union {
struct {
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
@@ -273,7 +273,7 @@ struct qm_sg_entry {
};
u16 val_off;
};
-} __packed;
+} __rte_packed_end;
static inline u64 qm_sg_entry_get64(const struct qm_sg_entry *sg)
{
return sg->addr;
@@ -292,7 +292,7 @@ static inline dma_addr_t qm_sg_addr(const struct qm_sg_entry *sg)
} while (0)
/* See 1.5.8.1: "Enqueue Command" */
-struct __rte_aligned(8) qm_eqcr_entry {
+struct __rte_aligned(8) __rte_packed_begin qm_eqcr_entry {
u8 __dont_write_directly__verb;
u8 dca;
u16 seqnum;
@@ -301,7 +301,7 @@ struct __rte_aligned(8) qm_eqcr_entry {
u32 tag;
struct qm_fd fd; /* this has alignment 8 */
u8 __reserved3[32];
-} __packed;
+} __rte_packed_end;
/* "Frame Dequeue Response" */
@@ -330,9 +330,9 @@ struct __rte_aligned(8) qm_dqrr_entry {
/* "ERN Message Response" */
/* "FQ State Change Notification" */
-struct __rte_aligned(8) qm_mr_entry {
+struct __rte_aligned(8) __rte_packed_begin qm_mr_entry {
union {
- alignas(8) struct {
+ alignas(8) struct __rte_packed_begin {
u8 verb;
u8 dca;
u16 seqnum;
@@ -341,8 +341,8 @@ struct __rte_aligned(8) qm_mr_entry {
u32 fqid; /* 24-bit */
u32 tag;
struct qm_fd fd; /* this has alignment 8 */
- } __packed ern;
- alignas(8) struct {
+ } __rte_packed_end ern;
+ alignas(8) struct __rte_packed_begin {
u8 verb;
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u8 colour:2; /* See QM_MR_DCERN_COLOUR_* */
@@ -359,18 +359,18 @@ struct __rte_aligned(8) qm_mr_entry {
u32 fqid; /* 24-bit */
u32 tag;
struct qm_fd fd; /* this has alignment 8 */
- } __packed dcern;
- alignas(8) struct {
+ } __rte_packed_end dcern;
+ alignas(8) struct __rte_packed_begin {
u8 verb;
u8 fqs; /* Frame Queue Status */
u8 __reserved1[6];
u32 fqid; /* 24-bit */
u32 contextB;
u8 __reserved2[16];
- } __packed fq; /* FQRN/FQRNI/FQRL/FQPN */
+ } __rte_packed_end fq; /* FQRN/FQRNI/FQRL/FQPN */
};
u8 __reserved2[32];
-} __packed;
+} __rte_packed_end;
#define QM_MR_VERB_VBIT 0x80
/*
* ERNs originating from direct-connect portals ("dcern") use 0x20 as a verb
@@ -405,7 +405,7 @@ struct __rte_aligned(8) qm_mr_entry {
* latter has two inlines to assist with converting to/from the mant+exp
* representation.
*/
-struct qm_fqd_stashing {
+struct __rte_packed_begin qm_fqd_stashing {
/* See QM_STASHING_EXCL_<...> */
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u8 exclusive;
@@ -421,8 +421,8 @@ struct qm_fqd_stashing {
u8 __reserved1:2;
u8 exclusive;
#endif
-} __packed;
-struct qm_fqd_taildrop {
+} __rte_packed_end;
+struct __rte_packed_begin qm_fqd_taildrop {
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u16 __reserved1:3;
u16 mant:8;
@@ -432,8 +432,8 @@ struct qm_fqd_taildrop {
u16 mant:8;
u16 __reserved1:3;
#endif
-} __packed;
-struct qm_fqd_oac {
+} __rte_packed_end;
+struct __rte_packed_begin qm_fqd_oac {
/* "Overhead Accounting Control", see QM_OAC_<...> */
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u8 oac:2; /* "Overhead Accounting Control" */
@@ -444,11 +444,11 @@ struct qm_fqd_oac {
#endif
/* Two's-complement value (-128 to +127) */
signed char oal; /* "Overhead Accounting Length" */
-} __packed;
-struct qm_fqd {
+} __rte_packed_end;
+struct __rte_packed_begin qm_fqd {
union {
u8 orpc;
- struct {
+ struct __rte_packed_begin {
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u8 __reserved1:2;
u8 orprws:3;
@@ -460,13 +460,13 @@ struct qm_fqd {
u8 orprws:3;
u8 __reserved1:2;
#endif
- } __packed;
+ } __rte_packed_end;
};
u8 cgid;
u16 fq_ctrl; /* See QM_FQCTRL_<...> */
union {
u16 dest_wq;
- struct {
+ struct __rte_packed_begin {
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u16 channel:13; /* qm_channel */
u16 wq:3;
@@ -474,7 +474,7 @@ struct qm_fqd {
u16 wq:3;
u16 channel:13; /* qm_channel */
#endif
- } __packed dest;
+ } __rte_packed_end dest;
};
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u16 __reserved2:1;
@@ -509,7 +509,7 @@ struct qm_fqd {
};
/* Treat it as s/w portal stashing config */
/* see "FQD Context_A field used for [...]" */
- struct {
+ struct __rte_packed_begin {
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
struct qm_fqd_stashing stashing;
/*
@@ -523,10 +523,10 @@ struct qm_fqd {
u16 context_hi;
struct qm_fqd_stashing stashing;
#endif
- } __packed;
+ } __rte_packed_end;
} context_a;
struct qm_fqd_oac oac_query;
-} __packed;
+} __rte_packed_end;
/* 64-bit converters for context_hi/lo */
static inline u64 qm_fqd_stashing_get64(const struct qm_fqd *fqd)
{
@@ -618,10 +618,10 @@ static inline u32 qm_fqd_taildrop_get(const struct qm_fqd_taildrop *td)
* Slope = SA / (2 ^ Sn)
* MaxP = 4 * (Pn + 1)
*/
-struct qm_cgr_wr_parm {
+struct __rte_packed_begin qm_cgr_wr_parm {
union {
u32 word;
- struct {
+ struct __rte_packed_begin {
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u32 MA:8;
u32 Mn:5;
@@ -635,9 +635,9 @@ struct qm_cgr_wr_parm {
u32 Mn:5;
u32 MA:8;
#endif
- } __packed;
+ } __rte_packed_end;
};
-} __packed;
+} __rte_packed_end;
/*
* This struct represents the 13-bit "CS_THRES" CGR field. In the corresponding
* management commands, this is padded to a 16-bit structure field, so that's
@@ -645,10 +645,10 @@ struct qm_cgr_wr_parm {
* these fields as follows;
* CS threshold = TA * (2 ^ Tn)
*/
-struct qm_cgr_cs_thres {
+struct __rte_packed_begin qm_cgr_cs_thres {
union {
u16 hword;
- struct {
+ struct __rte_packed_begin {
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u16 __reserved:3;
u16 TA:8;
@@ -658,15 +658,15 @@ struct qm_cgr_cs_thres {
u16 TA:8;
u16 __reserved:3;
#endif
- } __packed;
+ } __rte_packed_end;
};
-} __packed;
+} __rte_packed_end;
/*
* This identical structure of CGR fields is present in the "Init/Modify CGR"
* commands and the "Query CGR" result. It's suctioned out here into its own
* struct.
*/
-struct __qm_mc_cgr {
+struct __rte_packed_begin __qm_mc_cgr {
struct qm_cgr_wr_parm wr_parm_g;
struct qm_cgr_wr_parm wr_parm_y;
struct qm_cgr_wr_parm wr_parm_r;
@@ -694,7 +694,7 @@ struct __qm_mc_cgr {
u16 __cs_thres;
};
u8 mode; /* QMAN_CGR_MODE_FRAME not supported in rev1.0 */
-} __packed;
+} __rte_packed_end;
#define QM_CGR_EN 0x01 /* For wr_en_*, cscn_en, cstd_en */
#define QM_CGR_TARG_UDP_CTRL_WRITE_BIT 0x8000 /* value written to portal bit*/
#define QM_CGR_TARG_UDP_CTRL_DCP 0x4000 /* 0: SWP, 1: DCP */
@@ -733,25 +733,25 @@ static inline int qm_cgr_cs_thres_set64(struct qm_cgr_cs_thres *th, u64 val,
/* See 1.5.8.6.2: "CGR Test Write" */
/* See 1.5.8.6.3: "Query CGR" */
/* See 1.5.8.6.4: "Query Congestion Group State" */
-struct qm_mcc_initfq {
+struct __rte_packed_begin qm_mcc_initfq {
u8 __reserved1;
u16 we_mask; /* Write Enable Mask */
u32 fqid; /* 24-bit */
u16 count; /* Initialises 'count+1' FQDs */
struct qm_fqd fqd; /* the FQD fields go here */
u8 __reserved3[30];
-} __packed;
-struct qm_mcc_queryfq {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcc_queryfq {
u8 __reserved1[3];
u32 fqid; /* 24-bit */
u8 __reserved2[56];
-} __packed;
-struct qm_mcc_queryfq_np {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcc_queryfq_np {
u8 __reserved1[3];
u32 fqid; /* 24-bit */
u8 __reserved2[56];
-} __packed;
-struct qm_mcc_alterfq {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcc_alterfq {
u8 __reserved1[3];
u32 fqid; /* 24-bit */
u8 __reserved2;
@@ -759,37 +759,37 @@ struct qm_mcc_alterfq {
u8 __reserved3[10];
u32 context_b; /* frame queue context b */
u8 __reserved4[40];
-} __packed;
-struct qm_mcc_initcgr {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcc_initcgr {
u8 __reserved1;
u16 we_mask; /* Write Enable Mask */
struct __qm_mc_cgr cgr; /* CGR fields */
u8 __reserved2[2];
u8 cgid;
u8 __reserved4[32];
-} __packed;
-struct qm_mcc_cgrtestwrite {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcc_cgrtestwrite {
u8 __reserved1[2];
u8 i_bcnt_hi:8;/* high 8-bits of 40-bit "Instant" */
u32 i_bcnt_lo; /* low 32-bits of 40-bit */
u8 __reserved2[23];
u8 cgid;
u8 __reserved3[32];
-} __packed;
-struct qm_mcc_querycgr {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcc_querycgr {
u8 __reserved1[30];
u8 cgid;
u8 __reserved2[32];
-} __packed;
-struct qm_mcc_querycongestion {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcc_querycongestion {
u8 __reserved[63];
-} __packed;
-struct qm_mcc_querywq {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcc_querywq {
u8 __reserved;
/* select channel if verb != QUERYWQ_DEDICATED */
union {
u16 channel_wq; /* ignores wq (3 lsbits) */
- struct {
+ struct __rte_packed_begin {
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u16 id:13; /* qm_channel */
u16 __reserved1:3;
@@ -797,12 +797,12 @@ struct qm_mcc_querywq {
u16 __reserved1:3;
u16 id:13; /* qm_channel */
#endif
- } __packed channel;
+ } __rte_packed_end channel;
};
u8 __reserved2[60];
-} __packed;
+} __rte_packed_end;
-struct qm_mc_command {
+struct __rte_packed_begin qm_mc_command {
u8 __dont_write_directly__verb;
union {
struct qm_mcc_initfq initfq;
@@ -815,7 +815,7 @@ struct qm_mc_command {
struct qm_mcc_querycongestion querycongestion;
struct qm_mcc_querywq querywq;
};
-} __packed;
+} __rte_packed_end;
/* INITFQ-specific flags */
#define QM_INITFQ_WE_MASK 0x01ff /* 'Write Enable' flags; */
@@ -842,15 +842,15 @@ struct qm_mc_command {
#define QM_CGR_WE_CS_THRES 0x0002
#define QM_CGR_WE_MODE 0x0001
-struct qm_mcr_initfq {
+struct __rte_packed_begin qm_mcr_initfq {
u8 __reserved1[62];
-} __packed;
-struct qm_mcr_queryfq {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcr_queryfq {
u8 __reserved1[8];
struct qm_fqd fqd; /* the FQD fields are here */
u8 __reserved2[30];
-} __packed;
-struct qm_mcr_queryfq_np {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcr_queryfq_np {
u8 __reserved1;
u8 state; /* QM_MCR_NP_STATE_*** */
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
@@ -929,16 +929,16 @@ struct qm_mcr_queryfq_np {
u16 od2_sfdr; /* QM_MCR_NP_OD2_*** */
u16 od3_sfdr; /* QM_MCR_NP_OD3_*** */
#endif
-} __packed;
+} __rte_packed_end;
-struct qm_mcr_alterfq {
+struct __rte_packed_begin qm_mcr_alterfq {
u8 fqs; /* Frame Queue Status */
u8 __reserved1[61];
-} __packed;
-struct qm_mcr_initcgr {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcr_initcgr {
u8 __reserved1[62];
-} __packed;
-struct qm_mcr_cgrtestwrite {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcr_cgrtestwrite {
u16 __reserved1;
struct __qm_mc_cgr cgr; /* CGR fields */
u8 __reserved2[3];
@@ -953,8 +953,8 @@ struct qm_mcr_cgrtestwrite {
u16 wr_prob_y;
u16 wr_prob_r;
u8 __reserved5[8];
-} __packed;
-struct qm_mcr_querycgr {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcr_querycgr {
u16 __reserved1;
struct __qm_mc_cgr cgr; /* CGR fields */
u8 __reserved2[3];
@@ -990,21 +990,21 @@ struct qm_mcr_querycgr {
u32 cscn_targ_swp[4];
u8 __reserved5[16];
};
-} __packed;
+} __rte_packed_end;
struct __qm_mcr_querycongestion {
u32 state[8];
};
-struct qm_mcr_querycongestion {
+struct __rte_packed_begin qm_mcr_querycongestion {
u8 __reserved[30];
/* Access this struct using QM_MCR_QUERYCONGESTION() */
struct __qm_mcr_querycongestion state;
-} __packed;
-struct qm_mcr_querywq {
+} __rte_packed_end;
+struct __rte_packed_begin qm_mcr_querywq {
union {
u16 channel_wq; /* ignores wq (3 lsbits) */
- struct {
+ struct __rte_packed_begin {
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
u16 id:13; /* qm_channel */
u16 __reserved:3;
@@ -1012,13 +1012,13 @@ struct qm_mcr_querywq {
u16 __reserved:3;
u16 id:13; /* qm_channel */
#endif
- } __packed channel;
+ } __rte_packed_end channel;
};
u8 __reserved[28];
u32 wq_len[8];
-} __packed;
+} __rte_packed_end;
-struct qm_mc_result {
+struct __rte_packed_begin qm_mc_result {
u8 verb;
u8 result;
union {
@@ -1032,7 +1032,7 @@ struct qm_mc_result {
struct qm_mcr_querycongestion querycongestion;
struct qm_mcr_querywq querywq;
};
-} __packed;
+} __rte_packed_end;
#define QM_MCR_VERB_RRID 0x80
#define QM_MCR_VERB_MASK QM_MCC_VERB_MASK
diff --git a/drivers/bus/ifpga/bus_ifpga_driver.h b/drivers/bus/ifpga/bus_ifpga_driver.h
index af151ffd4b..56ce34c91d 100644
--- a/drivers/bus/ifpga/bus_ifpga_driver.h
+++ b/drivers/bus/ifpga/bus_ifpga_driver.h
@@ -29,10 +29,10 @@ struct rte_afu_driver;
#define IFPGA_BUS_BITSTREAM_PATH_MAX_LEN 256
-struct rte_afu_uuid {
+struct __rte_packed_begin rte_afu_uuid {
uint64_t uuid_low;
uint64_t uuid_high;
-} __rte_packed;
+} __rte_packed_end;
#define IFPGA_BUS_DEV_PORT_MAX 4
@@ -40,10 +40,10 @@ struct rte_afu_uuid {
* A structure describing an ID for a AFU driver. Each driver provides a
* table of these IDs for each device that it supports.
*/
-struct rte_afu_id {
+struct __rte_packed_begin rte_afu_id {
struct rte_afu_uuid uuid;
int port; /**< port number */
-} __rte_packed;
+} __rte_packed_end;
/**
* A structure PR (Partial Reconfiguration) configuration AFU driver.
diff --git a/drivers/bus/vmbus/rte_vmbus_reg.h b/drivers/bus/vmbus/rte_vmbus_reg.h
index e3299aa871..54a26d12bd 100644
--- a/drivers/bus/vmbus/rte_vmbus_reg.h
+++ b/drivers/bus/vmbus/rte_vmbus_reg.h
@@ -12,14 +12,14 @@
#define VMBUS_MSG_DSIZE_MAX 240
#define VMBUS_MSG_SIZE 256
-struct vmbus_message {
+struct __rte_packed_begin vmbus_message {
uint32_t type; /* HYPERV_MSGTYPE_ */
uint8_t dsize; /* data size */
uint8_t flags; /* VMBUS_MSGFLAG_ */
uint16_t rsvd;
uint64_t id;
uint8_t data[VMBUS_MSG_DSIZE_MAX];
-} __rte_packed;
+} __rte_packed_end;
#define VMBUS_MSGFLAG_PENDING 0x01
@@ -27,10 +27,10 @@ struct vmbus_message {
* Hyper-V Monitor Notification Facility
*/
-struct vmbus_mon_trig {
+struct __rte_packed_begin vmbus_mon_trig {
RTE_ATOMIC(uint32_t) pending;
uint32_t armed;
-} __rte_packed;
+} __rte_packed_end;
#define VMBUS_MONTRIGS_MAX 4
#define VMBUS_MONTRIG_LEN 32
@@ -38,13 +38,13 @@ struct vmbus_mon_trig {
/*
* Hyper-V Monitor Notification Facility
*/
-struct hyperv_mon_param {
+struct __rte_packed_begin hyperv_mon_param {
uint32_t connid;
uint16_t evtflag_ofs;
uint16_t rsvd;
-} __rte_packed;
+} __rte_packed_end;
-struct vmbus_mon_page {
+struct __rte_packed_begin vmbus_mon_page {
uint32_t state;
uint32_t rsvd1;
@@ -57,13 +57,13 @@ struct vmbus_mon_page {
struct hyperv_mon_param
param[VMBUS_MONTRIGS_MAX][VMBUS_MONTRIG_LEN];
uint8_t rsvd4[1984];
-} __rte_packed;
+} __rte_packed_end;
/*
* Buffer ring
*/
-struct vmbus_bufring {
+struct __rte_packed_begin vmbus_bufring {
volatile uint32_t windex;
volatile uint32_t rindex;
@@ -108,7 +108,7 @@ struct vmbus_bufring {
* !!! DO NOT place any fields below this !!!
*/
uint8_t data[];
-} __rte_packed;
+} __rte_packed_end;
/*
* Channel packets
@@ -137,26 +137,26 @@ vmbus_chanpkt_getlen(uint16_t pktlen)
/*
* GPA stuffs.
*/
-struct vmbus_gpa_range {
+struct __rte_packed_begin vmbus_gpa_range {
uint32_t len;
uint32_t ofs;
uint64_t page[];
-} __rte_packed;
+} __rte_packed_end;
/* This is actually vmbus_gpa_range.gpa_page[1] */
-struct vmbus_gpa {
+struct __rte_packed_begin vmbus_gpa {
uint32_t len;
uint32_t ofs;
uint64_t page;
-} __rte_packed;
+} __rte_packed_end;
-struct vmbus_chanpkt_hdr {
+struct __rte_packed_begin vmbus_chanpkt_hdr {
uint16_t type; /* VMBUS_CHANPKT_TYPE_ */
uint16_t hlen; /* header len, in 8 bytes */
uint16_t tlen; /* total len, in 8 bytes */
uint16_t flags; /* VMBUS_CHANPKT_FLAG_ */
uint64_t xactid;
-} __rte_packed;
+} __rte_packed_end;
static inline uint32_t
vmbus_chanpkt_datalen(const struct vmbus_chanpkt_hdr *pkt)
@@ -165,29 +165,29 @@ vmbus_chanpkt_datalen(const struct vmbus_chanpkt_hdr *pkt)
- vmbus_chanpkt_getlen(pkt->hlen);
}
-struct vmbus_chanpkt {
+struct __rte_packed_begin vmbus_chanpkt {
struct vmbus_chanpkt_hdr hdr;
-} __rte_packed;
+} __rte_packed_end;
-struct vmbus_rxbuf_desc {
+struct __rte_packed_begin vmbus_rxbuf_desc {
uint32_t len;
uint32_t ofs;
-} __rte_packed;
+} __rte_packed_end;
-struct vmbus_chanpkt_rxbuf {
+struct __rte_packed_begin vmbus_chanpkt_rxbuf {
struct vmbus_chanpkt_hdr hdr;
uint16_t rxbuf_id;
uint16_t rsvd;
uint32_t rxbuf_cnt;
struct vmbus_rxbuf_desc rxbuf[];
-} __rte_packed;
+} __rte_packed_end;
-struct vmbus_chanpkt_sglist {
+struct __rte_packed_begin vmbus_chanpkt_sglist {
struct vmbus_chanpkt_hdr hdr;
uint32_t rsvd;
uint32_t gpa_cnt;
struct vmbus_gpa gpa[];
-} __rte_packed;
+} __rte_packed_end;
/*
* Channel messages
@@ -213,39 +213,39 @@ struct vmbus_chanpkt_sglist {
#define VMBUS_CHANMSG_TYPE_DISCONNECT 16 /* REQ */
#define VMBUS_CHANMSG_TYPE_MAX 22
-struct vmbus_chanmsg_hdr {
+struct __rte_packed_begin vmbus_chanmsg_hdr {
uint32_t type; /* VMBUS_CHANMSG_TYPE_ */
uint32_t rsvd;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_CONNECT */
-struct vmbus_chanmsg_connect {
+struct __rte_packed_begin vmbus_chanmsg_connect {
struct vmbus_chanmsg_hdr hdr;
uint32_t ver;
uint32_t rsvd;
uint64_t evtflags;
uint64_t mnf1;
uint64_t mnf2;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_CONNECT_RESP */
-struct vmbus_chanmsg_connect_resp {
+struct __rte_packed_begin vmbus_chanmsg_connect_resp {
struct vmbus_chanmsg_hdr hdr;
uint8_t done;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_CHREQUEST */
-struct vmbus_chanmsg_chrequest {
+struct __rte_packed_begin vmbus_chanmsg_chrequest {
struct vmbus_chanmsg_hdr hdr;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_DISCONNECT */
-struct vmbus_chanmsg_disconnect {
+struct __rte_packed_begin vmbus_chanmsg_disconnect {
struct vmbus_chanmsg_hdr hdr;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_CHOPEN */
-struct vmbus_chanmsg_chopen {
+struct __rte_packed_begin vmbus_chanmsg_chopen {
struct vmbus_chanmsg_hdr hdr;
uint32_t chanid;
uint32_t openid;
@@ -254,73 +254,73 @@ struct vmbus_chanmsg_chopen {
uint32_t txbr_pgcnt;
#define VMBUS_CHANMSG_CHOPEN_UDATA_SIZE 120
uint8_t udata[VMBUS_CHANMSG_CHOPEN_UDATA_SIZE];
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_CHOPEN_RESP */
-struct vmbus_chanmsg_chopen_resp {
+struct __rte_packed_begin vmbus_chanmsg_chopen_resp {
struct vmbus_chanmsg_hdr hdr;
uint32_t chanid;
uint32_t openid;
uint32_t status;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_GPADL_CONN */
-struct vmbus_chanmsg_gpadl_conn {
+struct __rte_packed_begin vmbus_chanmsg_gpadl_conn {
struct vmbus_chanmsg_hdr hdr;
uint32_t chanid;
uint32_t gpadl;
uint16_t range_len;
uint16_t range_cnt;
struct vmbus_gpa_range range;
-} __rte_packed;
+} __rte_packed_end;
#define VMBUS_CHANMSG_GPADL_CONN_PGMAX 26
/* VMBUS_CHANMSG_TYPE_GPADL_SUBCONN */
-struct vmbus_chanmsg_gpadl_subconn {
+struct __rte_packed_begin vmbus_chanmsg_gpadl_subconn {
struct vmbus_chanmsg_hdr hdr;
uint32_t msgno;
uint32_t gpadl;
uint64_t gpa_page[];
-} __rte_packed;
+} __rte_packed_end;
#define VMBUS_CHANMSG_GPADL_SUBCONN_PGMAX 28
/* VMBUS_CHANMSG_TYPE_GPADL_CONNRESP */
-struct vmbus_chanmsg_gpadl_connresp {
+struct __rte_packed_begin vmbus_chanmsg_gpadl_connresp {
struct vmbus_chanmsg_hdr hdr;
uint32_t chanid;
uint32_t gpadl;
uint32_t status;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_CHCLOSE */
-struct vmbus_chanmsg_chclose {
+struct __rte_packed_begin vmbus_chanmsg_chclose {
struct vmbus_chanmsg_hdr hdr;
uint32_t chanid;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_GPADL_DISCONN */
-struct vmbus_chanmsg_gpadl_disconn {
+struct __rte_packed_begin vmbus_chanmsg_gpadl_disconn {
struct vmbus_chanmsg_hdr hdr;
uint32_t chanid;
uint32_t gpadl;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_CHFREE */
-struct vmbus_chanmsg_chfree {
+struct __rte_packed_begin vmbus_chanmsg_chfree {
struct vmbus_chanmsg_hdr hdr;
uint32_t chanid;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_CHRESCIND */
-struct vmbus_chanmsg_chrescind {
+struct __rte_packed_begin vmbus_chanmsg_chrescind {
struct vmbus_chanmsg_hdr hdr;
uint32_t chanid;
-} __rte_packed;
+} __rte_packed_end;
/* VMBUS_CHANMSG_TYPE_CHOFFER */
-struct vmbus_chanmsg_choffer {
+struct __rte_packed_begin vmbus_chanmsg_choffer {
struct vmbus_chanmsg_hdr hdr;
rte_uuid_t chtype;
rte_uuid_t chinst;
@@ -337,7 +337,7 @@ struct vmbus_chanmsg_choffer {
uint8_t flags1; /* VMBUS_CHOFFER_FLAG1_ */
uint16_t flags2;
uint32_t connid;
-} __rte_packed;
+} __rte_packed_end;
#define VMBUS_CHOFFER_FLAG1_HASMNF 0x01
--
2.47.0.vfs.0.3
next prev parent reply other threads:[~2024-12-31 18:39 UTC|newest]
Thread overview: 318+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-20 21:05 [PATCH 00/15] fix packing of structs when building with MSVC Tyler Retzlaff
2024-03-20 21:05 ` [PATCH 01/15] eal: provide pack start macro for MSVC Tyler Retzlaff
2024-03-20 21:05 ` [PATCH 02/15] eal: pack structures when building with MSVC Tyler Retzlaff
2024-03-21 16:02 ` Bruce Richardson
2024-03-20 21:05 ` [PATCH 03/15] net: " Tyler Retzlaff
2024-10-07 1:14 ` Stephen Hemminger
2024-03-20 21:06 ` [PATCH 04/15] common/iavf: " Tyler Retzlaff
2024-03-20 21:06 ` [PATCH 05/15] common/idpf: " Tyler Retzlaff
2024-03-20 21:06 ` [PATCH 06/15] common/mlx5: " Tyler Retzlaff
2024-03-20 21:06 ` [PATCH 07/15] dma/ioat: " Tyler Retzlaff
2024-03-21 16:13 ` Bruce Richardson
2024-03-27 22:51 ` Tyler Retzlaff
2024-03-20 21:06 ` [PATCH 08/15] net/i40e: " Tyler Retzlaff
2024-03-20 21:06 ` [PATCH 09/15] net/iavf: " Tyler Retzlaff
2024-03-21 16:26 ` Bruce Richardson
2024-03-20 21:06 ` [PATCH 10/15] net/ice: " Tyler Retzlaff
2024-03-20 21:06 ` [PATCH 11/15] net/mlx5: " Tyler Retzlaff
2024-03-20 21:06 ` [PATCH 12/15] net/octeon_ep: " Tyler Retzlaff
2024-03-20 21:06 ` [PATCH 13/15] app/testpmd: " Tyler Retzlaff
2024-03-21 16:28 ` Bruce Richardson
2024-03-20 21:06 ` [PATCH 14/15] app/test: " Tyler Retzlaff
2024-03-20 21:06 ` [PATCH 15/15] examples: " Tyler Retzlaff
2024-03-21 16:31 ` Bruce Richardson
2024-03-21 15:32 ` [PATCH 00/15] fix packing of structs " Stephen Hemminger
2024-03-21 15:46 ` Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 01/15] eal: provide pack start macro for MSVC Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 02/15] eal: pack structures when building with MSVC Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 03/15] net: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 04/15] common/iavf: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 05/15] common/idpf: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 06/15] common/mlx5: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 07/15] dma/ioat: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 08/15] net/i40e: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 09/15] net/iavf: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 10/15] net/ice: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 11/15] net/mlx5: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 12/15] net/octeon_ep: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 13/15] app/testpmd: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 14/15] app/test: " Tyler Retzlaff
2024-03-27 23:09 ` [PATCH v2 15/15] examples: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 00/16] fix packing of structs " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 01/16] eal: provide pack start macro for MSVC Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 02/16] eal: pack structures when building with MSVC Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 03/16] net: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 04/16] common/iavf: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 05/16] common/idpf: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 06/16] common/mlx5: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 07/16] dma/ioat: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 08/16] net/i40e: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 09/16] net/iavf: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 10/16] net/ice: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 11/16] net/mlx5: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 12/16] net/octeon_ep: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 13/16] app/testpmd: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 14/16] app/test: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 15/16] examples: " Tyler Retzlaff
2024-04-15 23:51 ` [PATCH v3 16/16] crypto/mlx5: " Tyler Retzlaff
2024-04-16 0:04 ` [PATCH v4 00/16] fix packing of structs " Tyler Retzlaff
2024-04-16 0:04 ` [PATCH v4 01/16] eal: provide pack start macro for MSVC Tyler Retzlaff
2024-04-16 0:04 ` [PATCH v4 02/16] eal: pack structures when building with MSVC Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 03/16] net: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 04/16] common/iavf: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 05/16] common/idpf: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 06/16] common/mlx5: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 07/16] dma/ioat: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 08/16] net/i40e: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 09/16] net/iavf: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 10/16] net/ice: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 11/16] net/mlx5: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 12/16] net/octeon_ep: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 13/16] app/testpmd: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 14/16] app/test: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 15/16] examples: " Tyler Retzlaff
2024-04-16 0:05 ` [PATCH v4 16/16] crypto/mlx5: " Tyler Retzlaff
2024-11-19 4:35 ` [PATCH v5 00/16] fix packing of structs " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 01/16] eal: provide pack start macro for MSVC Andre Muezerie
2024-11-19 8:32 ` Morten Brørup
2024-11-19 11:00 ` Konstantin Ananyev
2024-11-19 16:23 ` Andre Muezerie
2024-11-21 19:39 ` Andre Muezerie
2024-11-21 20:51 ` Thomas Monjalon
2024-11-22 0:11 ` Andre Muezerie
2024-11-22 8:13 ` Morten Brørup
2024-11-25 22:15 ` Andre Muezerie
2024-12-05 0:20 ` Tyler Retzlaff
2024-11-19 4:35 ` [PATCH v5 02/16] eal: pack structures when building with MSVC Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 03/16] net: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 04/16] common/iavf: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 05/16] common/idpf: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 06/16] common/mlx5: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 07/16] dma/ioat: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 08/16] net/i40e: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 09/16] net/iavf: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 10/16] net/ice: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 11/16] net/mlx5: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 12/16] net/octeon_ep: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 13/16] app/testpmd: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 14/16] app/test: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 15/16] examples: " Andre Muezerie
2024-11-19 4:35 ` [PATCH v5 16/16] crypto/mlx5: " Andre Muezerie
2024-11-20 21:13 ` [PATCH v5 00/16] fix packing of structs " Patrick Robb
2024-11-27 0:52 ` [PATCH v6 00/30] " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 01/30] devtools: check packed attributes Andre Muezerie
2024-12-05 0:16 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 02/30] eal/include: add new packing macros Andre Muezerie
2024-12-05 0:09 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 03/30] app/test-pmd: remove unnecessary packed attributes Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 04/30] app/test: replace " Andre Muezerie
2024-12-05 0:21 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 05/30] doc/guides: " Andre Muezerie
2024-12-05 0:12 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 06/30] drivers/baseband: " Andre Muezerie
2024-12-05 0:23 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 07/30] drivers/bus: " Andre Muezerie
2024-12-05 0:25 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 08/30] drivers/common: " Andre Muezerie
2024-12-05 0:26 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 09/30] drivers/compress: " Andre Muezerie
2024-12-05 0:26 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 10/30] drivers/crypto: " Andre Muezerie
2024-12-05 0:27 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 11/30] drivers/dma: " Andre Muezerie
2024-12-05 0:28 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 12/30] drivers/event: " Andre Muezerie
2024-12-05 0:28 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 13/30] drivers/mempool: " Andre Muezerie
2024-12-05 0:51 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 14/30] drivers/net: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 15/30] drivers/raw: " Andre Muezerie
2024-12-05 0:51 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 16/30] drivers/regex: " Andre Muezerie
2024-12-05 0:52 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 17/30] drivers/vdpa: " Andre Muezerie
2024-12-05 0:54 ` Tyler Retzlaff
2024-11-27 0:52 ` [PATCH v6 18/30] examples/common: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 19/30] examples/ip-pipeline: remove " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 20/30] examples/ipsec_secgw: replace " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 21/30] examples/l3fwd-power: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 22/30] examples/l3fwd: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 23/30] examples/ptpclient: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 24/30] examples/vhost_blk: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 25/30] lib/eal: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 26/30] lib/ipsec: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 27/30] lib/net: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 28/30] lib/pipeline: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 29/30] lib/vhost: " Andre Muezerie
2024-11-27 0:52 ` [PATCH v6 30/30] lib/eal: remove __rte_packed Andre Muezerie
2024-12-05 0:11 ` Tyler Retzlaff
2024-12-23 11:03 ` [PATCH v6 00/30] fix packing of structs when building with MSVC David Marchand
2024-12-23 11:46 ` David Marchand
2024-12-23 19:11 ` Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 00/29] " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 01/29] devtools: check packed attributes Andre Muezerie
2024-12-28 15:13 ` Morten Brørup
2024-12-31 15:12 ` Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 02/29] eal/include: add new packing macros Andre Muezerie
2024-12-28 14:41 ` Morten Brørup
2024-12-31 15:07 ` Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 03/29] app/test-pmd: remove unnecessary packed attributes Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 04/29] app/test: replace " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 05/29] doc/guides: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 06/29] drivers/baseband: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 07/29] drivers/bus: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 08/29] drivers/common: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 09/29] drivers/compress: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 10/29] drivers/crypto: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 11/29] drivers/dma: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 12/29] drivers/event: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 13/29] drivers/mempool: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 14/29] drivers/net: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 15/29] drivers/raw: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 16/29] drivers/regex: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 17/29] drivers/vdpa: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 18/29] examples/common: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 19/29] examples/ip-pipeline: remove " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 20/29] examples/ipsec_secgw: replace " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 21/29] examples/l3fwd-power: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 22/29] examples/l3fwd: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 23/29] examples/ptpclient: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 24/29] examples/vhost_blk: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 25/29] lib/eal: " Andre Muezerie
2024-12-23 19:11 ` [PATCH v7 26/29] lib/ipsec: " Andre Muezerie
2024-12-23 19:12 ` [PATCH v7 27/29] lib/net: " Andre Muezerie
2024-12-23 19:12 ` [PATCH v7 28/29] lib/pipeline: " Andre Muezerie
2024-12-23 19:12 ` [PATCH v7 29/29] lib/vhost: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 00/29] fix packing of structs when building with MSVC Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 01/29] devtools: check packed attributes Andre Muezerie
2025-01-07 14:20 ` David Marchand
2024-12-31 18:37 ` [PATCH v8 02/29] eal/include: add new packing macros Andre Muezerie
2025-01-08 11:05 ` David Marchand
2025-01-09 0:51 ` Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 03/29] app/test-pmd: remove unnecessary packed attributes Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 04/29] app/test: replace " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 05/29] doc/guides: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 06/29] drivers/baseband: " Andre Muezerie
2024-12-31 18:37 ` Andre Muezerie [this message]
2024-12-31 18:37 ` [PATCH v8 08/29] drivers/common: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 09/29] drivers/compress: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 10/29] drivers/crypto: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 11/29] drivers/dma: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 12/29] drivers/event: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 13/29] drivers/mempool: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 14/29] drivers/net: " Andre Muezerie
2025-01-08 10:59 ` David Marchand
2024-12-31 18:37 ` [PATCH v8 15/29] drivers/raw: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 16/29] drivers/regex: " Andre Muezerie
2024-12-31 18:37 ` [PATCH v8 17/29] drivers/vdpa: " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 18/29] examples/common: " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 19/29] examples/ip-pipeline: remove " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 20/29] examples/ipsec_secgw: replace " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 21/29] examples/l3fwd-power: " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 22/29] examples/l3fwd: " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 23/29] examples/ptpclient: " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 24/29] examples/vhost_blk: " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 25/29] lib/eal: " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 26/29] lib/ipsec: " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 27/29] lib/net: " Andre Muezerie
2025-01-08 12:01 ` David Marchand
2025-01-09 2:49 ` Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 28/29] lib/pipeline: " Andre Muezerie
2024-12-31 18:38 ` [PATCH v8 29/29] lib/vhost: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 00/30] fix packing of structs when building with MSVC Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 01/30] devtools: check packed attributes Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 02/30] eal/include: add new packing macros Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 03/30] app/test-pmd: remove unnecessary packed attributes Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 04/30] app/test: replace " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 05/30] doc/guides: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 06/30] drivers/baseband: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 07/30] drivers/bus: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 08/30] drivers/common: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 09/30] drivers/compress: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 10/30] drivers/crypto: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 11/30] drivers/dma: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 12/30] drivers/event: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 13/30] drivers/mempool: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 14/30] drivers/net: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 15/30] drivers/raw: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 16/30] drivers/regex: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 17/30] drivers/vdpa: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 18/30] examples/common: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 19/30] examples/ip-pipeline: remove " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 20/30] examples/ipsec_secgw: replace " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 21/30] examples/l3fwd-power: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 22/30] examples/l3fwd: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 23/30] examples/ptpclient: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 24/30] examples/vhost_blk: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 25/30] lib/eal: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 26/30] lib/ipsec: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 27/30] lib/net: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 28/30] lib/pipeline: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 29/30] lib/vhost: " Andre Muezerie
2025-01-09 0:48 ` [PATCH v9 30/30] eal/include: deprecate macro __rte_packed Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 00/30] fix packing of structs when building with MSVC Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 01/30] devtools: check packed attributes Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 02/30] eal/include: add new packing macros Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 03/30] app/test-pmd: remove unnecessary packed attributes Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 04/30] app/test: replace " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 05/30] doc/guides: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 06/30] drivers/baseband: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 07/30] drivers/bus: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 08/30] drivers/common: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 09/30] drivers/compress: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 10/30] drivers/crypto: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 11/30] drivers/dma: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 12/30] drivers/event: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 13/30] drivers/mempool: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 14/30] drivers/net: " Andre Muezerie
2025-01-09 2:45 ` [PATCH v10 15/30] drivers/raw: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 16/30] drivers/regex: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 17/30] drivers/vdpa: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 18/30] examples/common: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 19/30] examples/ip-pipeline: remove " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 20/30] examples/ipsec_secgw: replace " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 21/30] examples/l3fwd-power: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 22/30] examples/l3fwd: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 23/30] examples/ptpclient: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 24/30] examples/vhost_blk: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 25/30] lib/eal: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 26/30] lib/ipsec: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 27/30] lib/net: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 28/30] lib/pipeline: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 29/30] lib/vhost: " Andre Muezerie
2025-01-09 2:46 ` [PATCH v10 30/30] eal/include: deprecate macro __rte_packed Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 00/30] fix packing of structs when building with MSVC Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 01/30] devtools: check packed attributes Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 02/30] eal/include: add new packing macros Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 03/30] app/test-pmd: remove unnecessary packed attributes Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 04/30] app/test: replace " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 05/30] doc/guides: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 06/30] drivers/baseband: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 07/30] drivers/bus: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 08/30] drivers/common: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 09/30] drivers/compress: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 10/30] drivers/crypto: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 11/30] drivers/dma: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 12/30] drivers/event: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 13/30] drivers/mempool: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 14/30] drivers/net: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 15/30] drivers/raw: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 16/30] drivers/regex: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 17/30] drivers/vdpa: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 18/30] examples/common: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 19/30] examples/ip-pipeline: remove " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 20/30] examples/ipsec_secgw: replace " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 21/30] examples/l3fwd-power: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 22/30] examples/l3fwd: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 23/30] examples/ptpclient: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 24/30] examples/vhost_blk: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 25/30] eal: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 26/30] ipsec: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 27/30] net: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 28/30] pipeline: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 29/30] vhost: " Andre Muezerie
2025-01-10 22:16 ` [PATCH v11 30/30] eal/include: deprecate macro __rte_packed Andre Muezerie
2025-01-13 9:27 ` [PATCH v11 00/30] fix packing of structs when building with MSVC David Marchand
2025-01-15 16:13 ` David Marchand
2025-01-15 16:51 ` Andre Muezerie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1735670291-23224-8-git-send-email-andremue@linux.microsoft.com \
--to=andremue@linux.microsoft.com \
--cc=aman.deep.singh@intel.com \
--cc=anatoly.burakov@intel.com \
--cc=bruce.richardson@intel.com \
--cc=byron.marohn@intel.com \
--cc=conor.walsh@intel.com \
--cc=cristian.dumitrescu@intel.com \
--cc=david.hunt@intel.com \
--cc=dev@dpdk.org \
--cc=dsosnowski@nvidia.com \
--cc=gakhil@marvell.com \
--cc=jerinj@marvell.com \
--cc=jingjing.wu@intel.com \
--cc=kirill.rybalchenko@intel.com \
--cc=konstantin.v.ananyev@yandex.ru \
--cc=matan@nvidia.com \
--cc=mb@smartsharesystems.com \
--cc=orika@nvidia.com \
--cc=radu.nicolau@intel.com \
--cc=roretzla@linux.microsoft.com \
--cc=ruifeng.wang@arm.com \
--cc=sameh.gobriel@intel.com \
--cc=sivaprasad.tummala@amd.com \
--cc=skori@marvell.com \
--cc=stephen@networkplumber.org \
--cc=suanmingm@nvidia.com \
--cc=vattunuru@marvell.com \
--cc=viacheslavo@nvidia.com \
--cc=vladimir.medvedkin@intel.com \
--cc=yipeng1.wang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.