From mboxrd@z Thu Jan 1 00:00:00 1970 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) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP; 13 Dec 2016 19:00:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,344,1477983600"; d="scan'208";a="39759560" Received: from yliu-dev.sh.intel.com (HELO yliu-dev) ([10.239.67.162]) by orsmga004.jf.intel.com with ESMTP; 13 Dec 2016 19:00:35 -0800 Date: Wed, 14 Dec 2016 11:02:23 +0800 From: Yuanhan Liu To: Jerin Jacob 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 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 Content-Disposition: inline In-Reply-To: <1481680558-4003-27-git-send-email-jerin.jacob@caviumnetworks.com> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [dpdk-dev] [PATCH 26/28] net/virtio: use eal I/O device memory read/write API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Dec 2016 03:00:39 -0000 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