From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuanhan Liu Subject: Re: [PATCH 26/28] net/virtio: use eal I/O device memory read/write API Date: Wed, 14 Dec 2016 11:02:23 +0800 Message-ID: <20161214030223.GH18991@yliu-dev.sh.intel.com> References: <1481680558-4003-1-git-send-email-jerin.jacob@caviumnetworks.com> <1481680558-4003-27-git-send-email-jerin.jacob@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, konstantin.ananyev@intel.com, thomas.monjalon@6wind.com, bruce.richardson@intel.com, jianbo.liu@linaro.org, viktorin@rehivetech.com, Santosh Shukla , Huawei Xie To: Jerin Jacob Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id D0FB32C4F for ; Wed, 14 Dec 2016 04:00:38 +0100 (CET) Content-Disposition: inline In-Reply-To: <1481680558-4003-27-git-send-email-jerin.jacob@caviumnetworks.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Dec 14, 2016 at 07:25:56AM +0530, Jerin Jacob wrote: > * Following macros are derived from linux/pci_regs.h, however, > * we can't simply include that header here, as there is no such > @@ -320,37 +322,37 @@ static const struct virtio_pci_ops legacy_ops = { > static inline uint8_t > io_read8(uint8_t *addr) > { > - return *(volatile uint8_t *)addr; > + return rte_readb(addr); > } Oh, one more comments: why not replacing io_read8 with rte_readb(), and do similar for others? Then we don't have to define those wrappers. I think you can also do something similar for other patches? --yliu > > static inline void > io_write8(uint8_t val, uint8_t *addr) > { > - *(volatile uint8_t *)addr = val; > + rte_writeb(val, addr); > } > > static inline uint16_t > io_read16(uint16_t *addr) > { > - return *(volatile uint16_t *)addr; > + return rte_readw(addr); > } > > static inline void > io_write16(uint16_t val, uint16_t *addr) > { > - *(volatile uint16_t *)addr = val; > + rte_writew(val, addr); > } > > static inline uint32_t > io_read32(uint32_t *addr) > { > - return *(volatile uint32_t *)addr; > + return rte_readl(addr); > } > > static inline void > io_write32(uint32_t val, uint32_t *addr) > { > - *(volatile uint32_t *)addr = val; > + rte_writel(val, addr); > } > > static inline void > -- > 2.5.5