[PATCH 07/15] dma/ioat: pack structures when building with MSVC

Bruce Richardson bruce.richardson at intel.com
Thu Mar 21 17:13:32 CET 2024


On Wed, Mar 20, 2024 at 02:06:03PM -0700, Tyler Retzlaff wrote:
> Add __rte_msvc_pushpack(1) to all __rte_packed structs to cause packing
> when building with MSVC.
> 
> Signed-off-by: Tyler Retzlaff <roretzla at linux.microsoft.com>
> ---
>  drivers/dma/ioat/ioat_hw_defs.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/dma/ioat/ioat_hw_defs.h b/drivers/dma/ioat/ioat_hw_defs.h
> index dc3493a..6e32807 100644
> --- a/drivers/dma/ioat/ioat_hw_defs.h
> +++ b/drivers/dma/ioat/ioat_hw_defs.h
> @@ -52,6 +52,7 @@
>  #define	IOAT_DMACAP_PQ		(1 << 9)
>  #define	IOAT_DMACAP_DMA_DIF	(1 << 10)
>  
> +__rte_msvc_pack
>  struct ioat_registers {
>  	uint8_t		chancnt;
>  	uint8_t		xfercap;

This struct has all gaps explicitly filled, so packed should not be
necessary. Struct has same size with and without the attribute.

/Bruce


More information about the dev mailing list