DPDK patches and discussions
 help / color / mirror / Atom feed
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, 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 v6 06/30] drivers/baseband: replace packed attributes
Date: Tue, 26 Nov 2024 16:52:17 -0800	[thread overview]
Message-ID: <1732668761-5556-7-git-send-email-andremue@linux.microsoft.com> (raw)
In-Reply-To: <1732668761-5556-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>
---
 drivers/baseband/acc/acc_common.h             | 59 +++++++++++--------
 drivers/baseband/fpga_5gnr_fec/agx100_pmd.h   | 16 ++---
 .../baseband/fpga_5gnr_fec/fpga_5gnr_fec.h    |  4 +-
 drivers/baseband/fpga_5gnr_fec/vc_5gnr_pmd.h  |  8 +--
 drivers/baseband/fpga_lte_fec/fpga_lte_fec.c  | 12 ++--
 drivers/baseband/la12xx/bbdev_la12xx_ipc.h    | 32 +++++-----
 6 files changed, 72 insertions(+), 59 deletions(-)

diff --git a/drivers/baseband/acc/acc_common.h b/drivers/baseband/acc/acc_common.h
index bf218332be..74c6787e4b 100644
--- a/drivers/baseband/acc/acc_common.h
+++ b/drivers/baseband/acc/acc_common.h
@@ -160,6 +160,7 @@ extern int acc_common_logtype;
 	RTE_LOG_LINE(level, ACC_COMMON, __VA_ARGS__)
 
 /* ACC100 DMA Descriptor triplet */
+__rte_packed_begin
 struct acc_dma_triplet {
 	uint64_t address;
 	uint32_t blen:20,
@@ -168,7 +169,7 @@ struct acc_dma_triplet {
 		dma_ext:1,
 		res1:2,
 		blkid:4;
-} __rte_packed;
+} __rte_packed_end;
 
 
 /* ACC100 Queue Manager Enqueue PCI Register */
@@ -183,7 +184,8 @@ union acc_enqueue_reg_fmt {
 };
 
 /* FEC 4G Uplink Frame Control Word */
-struct __rte_packed acc_fcw_td {
+__rte_packed_begin
+struct acc_fcw_td {
 	uint8_t fcw_ver:4,
 		num_maps:4; /* Unused in ACC100 */
 	uint8_t filler:6, /* Unused in ACC100 */
@@ -220,10 +222,11 @@ struct __rte_packed acc_fcw_td {
 				rsrvd4:10;
 		};
 	};
-};
+} __rte_packed_end;
 
 /* FEC 4G Downlink Frame Control Word */
-struct __rte_packed acc_fcw_te {
+__rte_packed_begin
+struct acc_fcw_te {
 	uint16_t k_neg;
 	uint16_t k_pos;
 	uint8_t c_neg;
@@ -251,10 +254,11 @@ struct __rte_packed acc_fcw_te {
 	uint8_t code_block_mode:1,
 		rsrvd8:7;
 	uint64_t rsrvd9;
-};
+} __rte_packed_end;
 
 /* FEC 5GNR Downlink Frame Control Word */
-struct __rte_packed acc_fcw_le {
+__rte_packed_begin
+struct acc_fcw_le {
 	uint32_t FCWversion:4,
 		qm:4,
 		nfiller:11,
@@ -279,10 +283,11 @@ struct __rte_packed acc_fcw_le {
 	uint32_t res6;
 	uint32_t res7;
 	uint32_t res8;
-};
+} __rte_packed_end;
 
 /* FEC 5GNR Uplink Frame Control Word */
-struct __rte_packed acc_fcw_ld {
+__rte_packed_begin
+struct acc_fcw_ld {
 	uint32_t FCWversion:4,
 		qm:4,
 		nfiller:11,
@@ -326,10 +331,11 @@ struct __rte_packed acc_fcw_ld {
 		tb_crc_select:2, /* Not supported in ACC100 */
 		dec_llrclip:2,  /* Not supported in VRB1 */
 		tb_trailer_size:20; /* Not supported in ACC100 */
-};
+} __rte_packed_end;
 
 /* FFT Frame Control Word */
-struct __rte_packed acc_fcw_fft {
+__rte_packed_begin
+struct acc_fcw_fft {
 	uint32_t in_frame_size:16,
 		leading_pad_size:16;
 	uint32_t out_frame_size:16,
@@ -351,10 +357,11 @@ struct __rte_packed acc_fcw_fft {
 		power_shift:4,
 		power_en:1,
 		res:19;
-};
+} __rte_packed_end;
 
 /* FFT Frame Control Word. */
-struct __rte_packed acc_fcw_fft_3 {
+__rte_packed_begin
+struct acc_fcw_fft_3 {
 	uint32_t in_frame_size:16,
 		leading_pad_size:16;
 	uint32_t out_frame_size:16,
@@ -381,11 +388,12 @@ struct __rte_packed acc_fcw_fft_3 {
 	uint16_t cs_theta_0[ACC_MAX_CS];
 	uint32_t cs_theta_d[ACC_MAX_CS];
 	int8_t cs_time_offset[ACC_MAX_CS];
-};
+} __rte_packed_end;
 
 
 /* MLD-TS Frame Control Word */
-struct __rte_packed acc_fcw_mldts {
+__rte_packed_begin
+struct acc_fcw_mldts {
 	uint32_t fcw_version:4,
 		res0:12,
 		nrb:13, /* 1 to 1925 */
@@ -409,7 +417,7 @@ struct __rte_packed acc_fcw_mldts {
 	uint32_t pad2;
 	uint32_t pad3;
 	uint32_t pad4;
-};
+} __rte_packed_end;
 
 /* DMA Response Descriptor */
 union acc_dma_rsp_desc {
@@ -435,7 +443,8 @@ union acc_dma_rsp_desc {
 };
 
 /* DMA Request Descriptor */
-struct __rte_packed acc_dma_req_desc {
+__rte_packed_begin
+struct acc_dma_req_desc {
 	union {
 		struct{
 			uint32_t type:4,
@@ -496,7 +505,7 @@ struct __rte_packed acc_dma_req_desc {
 		};
 		uint64_t pad3[ACC_DMA_DESC_PADDINGS]; /* pad to 64 bits */
 	};
-};
+} __rte_packed_end;
 
 /* ACC100 DMA Descriptor */
 union acc_dma_desc {
@@ -506,6 +515,7 @@ union acc_dma_desc {
 };
 
 /* Union describing Info Ring entry */
+__rte_packed_begin
 union acc_info_ring_data {
 	uint32_t val;
 	struct {
@@ -534,25 +544,28 @@ union acc_info_ring_data {
 		uint32_t loop_vrb2: 1;
 		uint32_t valid_vrb2: 1;
 	};
-} __rte_packed;
+} __rte_packed_end;
 
-struct __rte_packed acc_pad_ptr {
+__rte_packed_begin
+struct acc_pad_ptr {
 	void *op_addr;
 	uint64_t pad1;  /* pad to 64 bits */
-};
+} __rte_packed_end;
 
-struct __rte_packed acc_ptrs {
+__rte_packed_begin
+struct acc_ptrs {
 	struct acc_pad_ptr ptr[ACC_COMPANION_PTRS];
-};
+} __rte_packed_end;
 
 /* Union describing Info Ring entry */
+__rte_packed_begin
 union acc_harq_layout_data {
 	uint32_t val;
 	struct {
 		uint16_t offset;
 		uint16_t size0;
 	};
-} __rte_packed;
+} __rte_packed_end;
 
 /**
  * Structure with details about RTE_BBDEV_EVENT_DEQUEUE event. It's passed to
diff --git a/drivers/baseband/fpga_5gnr_fec/agx100_pmd.h b/drivers/baseband/fpga_5gnr_fec/agx100_pmd.h
index 5e562376c9..b6ef1d3f20 100644
--- a/drivers/baseband/fpga_5gnr_fec/agx100_pmd.h
+++ b/drivers/baseband/fpga_5gnr_fec/agx100_pmd.h
@@ -49,7 +49,7 @@ enum {
 };
 
 /* AGX100 TX Slice Descriptor. */
-struct __rte_packed agx100_input_slice_desc {
+__rte_packed_begin struct agx100_input_slice_desc {
 	uint32_t input_start_addr_lo;
 	uint32_t input_start_addr_hi;
 	uint32_t input_slice_length:21,
@@ -58,10 +58,10 @@ struct __rte_packed agx100_input_slice_desc {
 		start_of_pkt:1;
 	uint32_t input_slice_time_stamp:31,
 		input_c:1;
-};
+} __rte_packed_end;
 
 /* AGX100 RX Slice Descriptor. */
-struct __rte_packed agx100_output_slice_desc {
+__rte_packed_begin struct agx100_output_slice_desc {
 	uint32_t output_start_addr_lo;
 	uint32_t output_start_addr_hi;
 	uint32_t output_slice_length:21,
@@ -70,10 +70,10 @@ struct __rte_packed agx100_output_slice_desc {
 		start_of_pkt:1;
 	uint32_t output_slice_time_stamp:31,
 		output_c:1;
-};
+} __rte_packed_end;
 
 /* AGX100 DL DMA Encoding Request Descriptor. */
-struct __rte_packed agx100_dma_enc_desc {
+__rte_packed_begin struct agx100_dma_enc_desc {
 	uint32_t done:1, /**< 0: not completed 1: completed. */
 		rsrvd0:17,
 		error_msg:2,
@@ -161,10 +161,10 @@ struct __rte_packed agx100_dma_enc_desc {
 		uint8_t sw_ctxt[AGX100_RING_DESC_LEN_UNIT_BYTES *
 					(AGX100_RING_DESC_ENTRY_LENGTH - 1)];
 	};
-};
+} __rte_packed_end;
 
 /* AGX100 UL DMA Decoding Request Descriptor. */
-struct __rte_packed agx100_dma_dec_desc {
+__rte_packed_begin struct agx100_dma_dec_desc {
 	uint32_t done:1, /**< 0: not completed 1: completed. */
 		tb_crc_pass:1, /**< 0: doesn't pass 1: pass. */
 		cb_crc_all_pass:1, /**< 0: doesn't pass 1: pass. */
@@ -262,7 +262,7 @@ struct __rte_packed agx100_dma_dec_desc {
 		uint8_t sw_ctxt[AGX100_RING_DESC_LEN_UNIT_BYTES *
 					(AGX100_RING_DESC_ENTRY_LENGTH - 1)];
 	};
-};
+} __rte_packed_end;
 
 /* AGX100 DMA Descriptor. */
 union agx100_dma_desc {
diff --git a/drivers/baseband/fpga_5gnr_fec/fpga_5gnr_fec.h b/drivers/baseband/fpga_5gnr_fec/fpga_5gnr_fec.h
index 10a19e4dec..24797b8ef3 100644
--- a/drivers/baseband/fpga_5gnr_fec/fpga_5gnr_fec.h
+++ b/drivers/baseband/fpga_5gnr_fec/fpga_5gnr_fec.h
@@ -89,7 +89,7 @@ enum {
 };
 
 /* FPGA 5GNR Ring Control Register. */
-struct __rte_packed fpga_5gnr_ring_ctrl_reg {
+__rte_packed_begin struct fpga_5gnr_ring_ctrl_reg {
 	uint64_t ring_base_addr;
 	uint64_t ring_head_addr;
 	uint16_t ring_size:11;
@@ -107,7 +107,7 @@ struct __rte_packed fpga_5gnr_ring_ctrl_reg {
 	uint16_t rsrvd3;
 	uint16_t head_point;
 	uint16_t rsrvd4;
-};
+} __rte_packed_end;
 
 /* Private data structure for each FPGA 5GNR device. */
 struct fpga_5gnr_fec_device {
diff --git a/drivers/baseband/fpga_5gnr_fec/vc_5gnr_pmd.h b/drivers/baseband/fpga_5gnr_fec/vc_5gnr_pmd.h
index 9a488ae8d6..ca05ddd593 100644
--- a/drivers/baseband/fpga_5gnr_fec/vc_5gnr_pmd.h
+++ b/drivers/baseband/fpga_5gnr_fec/vc_5gnr_pmd.h
@@ -46,7 +46,7 @@ enum {
 };
 
 /* VC 5GNR FPGA FEC DMA Encoding Request Descriptor. */
-struct __rte_packed vc_5gnr_dma_enc_desc {
+__rte_packed_begin struct vc_5gnr_dma_enc_desc {
 	uint32_t done:1,
 		rsrvd0:7,
 		error:4,
@@ -84,10 +84,10 @@ struct __rte_packed vc_5gnr_dma_enc_desc {
 		uint8_t sw_ctxt[VC_5GNR_RING_DESC_LEN_UNIT_BYTES *
 					(VC_5GNR_RING_DESC_ENTRY_LENGTH - 1)];
 	};
-};
+} __rte_packed_end;
 
 /* VC 5GNR FPGA DPC FEC DMA Decoding Request Descriptor. */
-struct __rte_packed vc_5gnr_dma_dec_desc {
+__rte_packed_begin struct vc_5gnr_dma_dec_desc {
 	uint32_t done:1,
 		iter:5,
 		et_pass:1,
@@ -128,7 +128,7 @@ struct __rte_packed vc_5gnr_dma_dec_desc {
 
 		uint32_t sw_ctxt[8 * (VC_5GNR_RING_DESC_ENTRY_LENGTH - 1)];
 	};
-};
+} __rte_packed_end;
 
 /* Vista Creek 5GNR DMA Descriptor. */
 union vc_5gnr_dma_desc {
diff --git a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c
index ed21a18b62..c67027618c 100644
--- a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c
+++ b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c
@@ -114,7 +114,7 @@ enum {
 };
 
 /* FPGA LTE FEC DMA Encoding Request Descriptor */
-struct __rte_packed fpga_dma_enc_desc {
+__rte_packed_begin struct fpga_dma_enc_desc {
 	uint32_t done:1,
 		rsrvd0:11,
 		error:4,
@@ -148,10 +148,10 @@ struct __rte_packed fpga_dma_enc_desc {
 		uint8_t sw_ctxt[FPGA_RING_DESC_LEN_UNIT_BYTES *
 					(FPGA_RING_DESC_ENTRY_LENGTH - 1)];
 	};
-};
+} __rte_packed_end;
 
 /* FPGA LTE FEC DMA Decoding Request Descriptor */
-struct __rte_packed fpga_dma_dec_desc {
+__rte_packed_begin struct fpga_dma_dec_desc {
 	uint32_t done:1,
 		iter:5,
 		rsrvd0:2,
@@ -188,7 +188,7 @@ struct __rte_packed fpga_dma_dec_desc {
 
 		uint32_t sw_ctxt[8 * (FPGA_RING_DESC_ENTRY_LENGTH - 1)];
 	};
-};
+} __rte_packed_end;
 
 /* FPGA LTE DMA Descriptor */
 union fpga_dma_desc {
@@ -197,7 +197,7 @@ union fpga_dma_desc {
 };
 
 /* FPGA LTE FEC Ring Control Register */
-struct __rte_packed fpga_ring_ctrl_reg {
+__rte_packed_begin struct fpga_ring_ctrl_reg {
 	uint64_t ring_base_addr;
 	uint64_t ring_head_addr;
 	uint16_t ring_size:11;
@@ -216,7 +216,7 @@ struct __rte_packed fpga_ring_ctrl_reg {
 	uint16_t head_point;
 	uint16_t rsrvd4;
 
-};
+} __rte_packed_end;
 
 /* Private data structure for each FPGA FEC device */
 struct fpga_lte_fec_device {
diff --git a/drivers/baseband/la12xx/bbdev_la12xx_ipc.h b/drivers/baseband/la12xx/bbdev_la12xx_ipc.h
index b6a7f677d0..b915a71cca 100644
--- a/drivers/baseband/la12xx/bbdev_la12xx_ipc.h
+++ b/drivers/baseband/la12xx/bbdev_la12xx_ipc.h
@@ -93,7 +93,7 @@ typedef struct {
 #define IPC_GET_CI_INDEX(x)	(x & IPC_PI_CI_INDEX_MASK)
 
 /** buffer ring common metadata */
-typedef struct ipc_bd_ring_md {
+typedef __rte_packed_begin struct ipc_bd_ring_md {
 	volatile uint32_t pi;		/**< Producer index and flag (MSB)
 					  *  which flip for each Ring wrapping
 					  */
@@ -102,10 +102,10 @@ typedef struct ipc_bd_ring_md {
 					  */
 	uint32_t ring_size;	/**< depth (Used to roll-over pi/ci) */
 	uint32_t msg_size;	/**< Size of the each buffer */
-} __rte_packed ipc_br_md_t;
+} __rte_packed_end ipc_br_md_t;
 
 /** IPC buffer descriptor */
-typedef struct ipc_buffer_desc {
+typedef __rte_packed_begin struct ipc_buffer_desc {
 	union {
 		uint64_t host_virt;	/**< msg's host virtual address */
 		struct {
@@ -115,9 +115,9 @@ typedef struct ipc_buffer_desc {
 	};
 	uint32_t modem_ptr;	/**< msg's modem physical address */
 	uint32_t len;		/**< msg len */
-} __rte_packed ipc_bd_t;
+} __rte_packed_end ipc_bd_t;
 
-typedef struct ipc_channel {
+typedef __rte_packed_begin struct ipc_channel {
 	uint32_t ch_id;		/**< Channel id */
 	ipc_br_md_t md;			/**< Metadata for BD ring */
 	ipc_bd_t bd_h[IPC_MAX_DEPTH];	/**< Buffer Descriptor on Host */
@@ -134,22 +134,22 @@ typedef struct ipc_channel {
 					  * circular buffer size
 					  */
 	uint32_t host_ipc_params;	/**< Address for host IPC parameters */
-} __rte_packed ipc_ch_t;
+} __rte_packed_end ipc_ch_t;
 
-typedef struct ipc_instance {
+typedef __rte_packed_begin struct ipc_instance {
 	uint32_t instance_id;		/**< instance id, use to init this
 					  * instance by ipc_init API
 					  */
 	uint32_t initialized;		/**< Set in ipc_init */
 	ipc_ch_t ch_list[IPC_MAX_CHANNEL_COUNT];
 		/**< Channel descriptors in this instance */
-} __rte_packed ipc_instance_t;
+} __rte_packed_end ipc_instance_t;
 
-typedef struct ipc_metadata {
+typedef __rte_packed_begin struct ipc_metadata {
 	uint32_t ipc_host_signature; /**< IPC host signature, Set by host/L2 */
 	uint32_t ipc_geul_signature; /**< IPC geul signature, Set by modem */
 	ipc_instance_t instance_list[IPC_MAX_INSTANCE_COUNT];
-} __rte_packed ipc_metadata_t;
+} __rte_packed_end ipc_metadata_t;
 
 typedef struct ipc_channel_us_priv {
 	int32_t		eventfd;
@@ -221,24 +221,24 @@ struct bbdev_ipc_dequeue_op {
  * of the parameters which are also part of Shared BD ring. Read access
  * of these parameters from the host side would not be over PCI.
  */
-typedef struct host_ipc_params {
+typedef __rte_packed_begin struct host_ipc_params {
 	volatile uint32_t pi;
 	volatile uint32_t ci;
 	volatile uint32_t bd_m_modem_ptr[IPC_MAX_DEPTH];
-} __rte_packed host_ipc_params_t;
+} __rte_packed_end host_ipc_params_t;
 
-struct hif_ipc_regs {
+__rte_packed_begin struct hif_ipc_regs {
 	uint32_t ipc_mdata_offset;
 	uint32_t ipc_mdata_size;
-} __rte_packed;
+} __rte_packed_end;
 
-struct gul_hif {
+__rte_packed_begin struct gul_hif {
 	uint32_t ver;
 	uint32_t hif_ver;
 	uint32_t status;
 	volatile uint32_t host_ready;
 	volatile uint32_t mod_ready;
 	struct hif_ipc_regs ipc_regs;
-} __rte_packed;
+} __rte_packed_end;
 
 #endif
-- 
2.34.1


  parent reply	other threads:[~2024-11-27  0:53 UTC|newest]

Thread overview: 132+ 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-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-11-27  0:52   ` [PATCH v6 02/30] eal/include: add new packing macros Andre Muezerie
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-11-27  0:52   ` [PATCH v6 05/30] doc/guides: " Andre Muezerie
2024-11-27  0:52   ` Andre Muezerie [this message]
2024-11-27  0:52   ` [PATCH v6 07/30] drivers/bus: " Andre Muezerie
2024-11-27  0:52   ` [PATCH v6 08/30] drivers/common: " Andre Muezerie
2024-11-27  0:52   ` [PATCH v6 09/30] drivers/compress: " Andre Muezerie
2024-11-27  0:52   ` [PATCH v6 10/30] drivers/crypto: " Andre Muezerie
2024-11-27  0:52   ` [PATCH v6 11/30] drivers/dma: " Andre Muezerie
2024-11-27  0:52   ` [PATCH v6 12/30] drivers/event: " Andre Muezerie
2024-11-27  0:52   ` [PATCH v6 13/30] drivers/mempool: " Andre Muezerie
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-11-27  0:52   ` [PATCH v6 16/30] drivers/regex: " Andre Muezerie
2024-11-27  0:52   ` [PATCH v6 17/30] drivers/vdpa: " Andre Muezerie
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

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=1732668761-5556-7-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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).