[dpdk-dev] [PATCH v2] enicpmd: replace the type u_int* with uint* to remove compilation errors on a few platforms

Sujith Sankar (ssujith) ssujith at cisco.com
Fri Nov 28 17:01:00 CET 2014



On 28/11/14 9:22 pm, "Bruce Richardson" <bruce.richardson at intel.com> wrote:

>On Fri, Nov 28, 2014 at 03:08:19PM +0530, Sujith Sankar wrote:
>> ENIC PMD was giving compilation errors on ppc_64-power8-linuxapp-gcc
>>because
>> of types such as u_int32_t.  This patch replaces all those with
>>uint32_t and
>> similar ones.
>> 
>> Reported-by: David Marchand <david.marchand at 6wind.com>
>> Signed-off-by: Sujith Sankar <ssujith at cisco.com>
>
>Acked-by: Bruce Richardson <bruce.richardson at intel.com>
>
>This patch helps out with getting a clang compile on BSD. However, one
>error
>and a number of warnings remain that should be looked at in another patch.
>The error is:
>
>dpdk.org/lib/librte_pmd_enic/enic_main.c:435:3: fatal error: non-void
>function 'enic_rq_indicate_buf' should return a value [-Wreturn-type]
>                return;

Bruce, thanks for the comment.  I¹ve not built enicpmd using clang
compiler.
I shall setup a BSD build with clang compiler and send a patch with
necessary fixes.
Could you please let me know the versions and flavours that you are using?

Thanks,
-Sujith

>
>> ---
>>  lib/librte_pmd_enic/enic.h             |  2 +-
>>  lib/librte_pmd_enic/enic_compat.h      | 24 ++++++++++++------------
>>  lib/librte_pmd_enic/enic_main.c        | 18 +++++++++---------
>>  lib/librte_pmd_enic/vnic/vnic_devcmd.h |  6 +++---
>>  4 files changed, 25 insertions(+), 25 deletions(-)
>> 
>> diff --git a/lib/librte_pmd_enic/enic.h b/lib/librte_pmd_enic/enic.h
>> index 9f80fc0..6400d24 100644
>> --- a/lib/librte_pmd_enic/enic.h
>> +++ b/lib/librte_pmd_enic/enic.h
>> @@ -106,7 +106,7 @@ struct enic {
>>  	int iommu_group_fd;
>>  	int iommu_groupid;
>>  	int eventfd;
>> -	u_int8_t mac_addr[ETH_ALEN];
>> +	uint8_t mac_addr[ETH_ALEN];
>>  	pthread_t err_intr_thread;
>>  	int promisc;
>>  	int allmulti;
>> diff --git a/lib/librte_pmd_enic/enic_compat.h
>>b/lib/librte_pmd_enic/enic_compat.h
>> index d22578e..b3738ee 100644
>> --- a/lib/librte_pmd_enic/enic_compat.h
>> +++ b/lib/librte_pmd_enic/enic_compat.h
>> @@ -89,34 +89,34 @@ typedef		unsigned int        u32;
>>  typedef         unsigned long long  u64;
>>  typedef         unsigned long long  dma_addr_t;
>>  
>> -static inline u_int32_t ioread32(volatile void *addr)
>> +static inline uint32_t ioread32(volatile void *addr)
>>  {
>> -	return *(volatile u_int32_t *)addr;
>> +	return *(volatile uint32_t *)addr;
>>  }
>>  
>> -static inline u16 ioread16(volatile void *addr)
>> +static inline uint16_t ioread16(volatile void *addr)
>>  {
>> -	return *(volatile u16 *)addr;
>> +	return *(volatile uint16_t *)addr;
>>  }
>>  
>> -static inline u_int8_t ioread8(volatile void *addr)
>> +static inline uint8_t ioread8(volatile void *addr)
>>  {
>> -	return *(volatile u_int8_t *)addr;
>> +	return *(volatile uint8_t *)addr;
>>  }
>>  
>> -static inline void iowrite32(u_int32_t val, volatile void *addr)
>> +static inline void iowrite32(uint32_t val, volatile void *addr)
>>  {
>> -	*(volatile u_int32_t *)addr = val;
>> +	*(volatile uint32_t *)addr = val;
>>  }
>>  
>> -static inline void iowrite16(u16 val, volatile void *addr)
>> +static inline void iowrite16(uint16_t val, volatile void *addr)
>>  {
>> -	*(volatile u16 *)addr = val;
>> +	*(volatile uint16_t *)addr = val;
>>  }
>>  
>> -static inline void iowrite8(u_int8_t val, volatile void *addr)
>> +static inline void iowrite8(uint8_t val, volatile void *addr)
>>  {
>> -	*(volatile u_int8_t *)addr = val;
>> +	*(volatile uint8_t *)addr = val;
>>  }
>>  
>>  static inline unsigned int readl(volatile void __iomem *addr)
>> diff --git a/lib/librte_pmd_enic/enic_main.c
>>b/lib/librte_pmd_enic/enic_main.c
>> index f6f00d3..853dd04 100644
>> --- a/lib/librte_pmd_enic/enic_main.c
>> +++ b/lib/librte_pmd_enic/enic_main.c
>> @@ -172,17 +172,17 @@ unsigned int enic_cleanup_wq(struct enic *enic,
>>struct vnic_wq *wq)
>>  
>>  int enic_send_pkt(struct enic *enic, struct vnic_wq *wq,
>>  	struct rte_mbuf *tx_pkt, unsigned short len,
>> -	u_int8_t sop, u_int8_t eop,
>> -	u_int16_t ol_flags, u_int16_t vlan_tag)
>> +	uint8_t sop, uint8_t eop,
>> +	uint16_t ol_flags, uint16_t vlan_tag)
>>  {
>>  	struct wq_enet_desc *desc = vnic_wq_next_desc(wq);
>> -	u_int16_t mss = 0;
>> -	u_int16_t header_length = 0;
>> -	u_int8_t cq_entry = eop;
>> -	u_int8_t vlan_tag_insert = 0;
>> +	uint16_t mss = 0;
>> +	uint16_t header_length = 0;
>> +	uint8_t cq_entry = eop;
>> +	uint8_t vlan_tag_insert = 0;
>>  	unsigned char *buf = (unsigned char *)(tx_pkt->buf_addr) +
>>  	    RTE_PKTMBUF_HEADROOM;
>> -	u_int64_t bus_addr = (dma_addr_t)
>> +	uint64_t bus_addr = (dma_addr_t)
>>  	    (tx_pkt->buf_physaddr + RTE_PKTMBUF_HEADROOM);
>>  
>>  	if (sop) {
>> @@ -342,8 +342,8 @@ static int enic_rq_alloc_buf(struct vnic_rq *rq)
>>  	void *buf;
>>  	dma_addr_t dma_addr;
>>  	struct rq_enet_desc *desc = vnic_rq_next_desc(rq);
>> -	u_int8_t type = RQ_ENET_TYPE_ONLY_SOP;
>> -	u_int16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
>> +	uint8_t type = RQ_ENET_TYPE_ONLY_SOP;
>> +	uint16_t len = ENIC_MAX_MTU + VLAN_ETH_HLEN;
>>  	u16 split_hdr_size = vnic_get_hdr_split_size(enic->vdev);
>>  	struct rte_mbuf *mbuf = enic_rxmbuf_alloc(rq->mp);
>>  	struct rte_mbuf *hdr_mbuf = NULL;
>> diff --git a/lib/librte_pmd_enic/vnic/vnic_devcmd.h
>>b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
>> index b4c87c1..e7ecf31 100644
>> --- a/lib/librte_pmd_enic/vnic/vnic_devcmd.h
>> +++ b/lib/librte_pmd_enic/vnic/vnic_devcmd.h
>> @@ -691,9 +691,9 @@ enum {
>>  #define FILTER_MAX_BUF_SIZE 100  /* Maximum size of buffer to
>>CMD_ADD_FILTER */
>>  
>>  struct filter_tlv {
>> -	u_int32_t type;
>> -	u_int32_t length;
>> -	u_int32_t val[0];
>> +	uint32_t type;
>> +	uint32_t length;
>> +	uint32_t val[0];
>>  };
>>  
>>  enum {
>> -- 
>> 1.9.1
>> 



More information about the dev mailing list