From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) by dpdk.org (Postfix) with ESMTP id 9A7ED594B for ; Wed, 16 Dec 2015 08:48:18 +0100 (CET) Received: by mail-pa0-f45.google.com with SMTP id ur14so19586217pab.0 for ; Tue, 15 Dec 2015 23:48:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mvista-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=WeLLjuzhB34Ob0SgEAvNseIDH4IOyvTaSGJhy8MfVno=; b=PlxbLtl39c0e+aLS+UcNOW7mlbSrqwITVDhayQ/kTOIVoAN/04EWuJ5ZgT48hwwxR/ 6qqvLhJdl7aGMscHVoaj+e/aJVrsA8URNPP71dji4N4FQ6g2gPkW77usZ/G8uxYcQoHz X+t39h2Va7/Iz8sKXFbSUUDlhk4InFtUR2EvSH5LCgqtoVjHmYLtbep9YuhEG5vHEc4o cu7i+s/XDCi55LJTVhnD++xc2GeZL3m4kMn3gOimwANR+uEg11aHzuWG+GHCWLcBptdM xxslnpMvC3mHldlM5nYg4P+lo95ELGrCDfW98EsfKA7nwifxzn0xQ2E5cIggn46/v9We 6VZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=WeLLjuzhB34Ob0SgEAvNseIDH4IOyvTaSGJhy8MfVno=; b=GAUXdOaeL9ZynwW94cbZ0a9AyXRPNa1XDvDlJU/1EnM5NYWAj592EpGLYldUWmFmp8 4gby/4pwf/Rlz1tCDnrS714i9++wcDEANQLxtgU0kRBTD1QU2omcFd5yHd8ITAjmo6d8 yWtPRP/qm2Fb4QHXqIiR0Nq0s9hcwt9vFeA62ZpFwGrIWh3dOus+iFmizJK+hdfqlzs6 hUGiPnFWK2UXzcGqgDcc9GD404UT/1Pu8khj1vhEDdIxCH6pilTZ4+TJWoqu6s3ELaTV StVThGD0CMLk53MHSkfUJNhAxmItXB0fzMDjAMcSqeQMNs+61brDcRnsx0a6OZYrgyOM hN+w== X-Gm-Message-State: ALoCoQk2YhLM+/OEqx+rmLxNIib0SRVjzMJkwavMsRDnwbnekHtSz0ldCqvw0EwPImUZsthGIFrRT09zIi6ifT4gHeqBdKBt/3Leot/cmXDx9EAsQi3DJ9s= MIME-Version: 1.0 X-Received: by 10.66.140.79 with SMTP id re15mr59543299pab.127.1450252097967; Tue, 15 Dec 2015 23:48:17 -0800 (PST) Received: by 10.66.13.233 with HTTP; Tue, 15 Dec 2015 23:48:17 -0800 (PST) In-Reply-To: <1450098032-21198-1-git-send-email-sshukla@mvista.com> References: <1450098032-21198-1-git-send-email-sshukla@mvista.com> Date: Wed, 16 Dec 2015 13:18:17 +0530 Message-ID: From: Santosh Shukla To: dev@dpdk.org, "Ananyev, Konstantin" , "Xie, Huawei" , Yuanhan Liu , Stephen Hemminger Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [ [PATCH v2] 00/13] Add virtio support in arm/arm64 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Dec 2015 07:48:19 -0000 On Mon, Dec 14, 2015 at 6:30 PM, Santosh Shukla wrote: > This patch set add basic infrastrucure to run virtio-net-pci pmd driver for > arm64/arm. Tested on ThunderX platfrom. Verified for existing dpdk(s) test > applications like: > - ovs-dpdk-vhost-user: across the VM's, for the use-cases like guest2guest > and > Host2Guest > - testpmd application: Tested for max virtio-net-pci interface currently > supported in kernel i.e. 31 interface. > > Builds successfully for armv7/v8/thunderX and x86_64/i686 platforms. Made > sure > that patch changes donot break for x86_64 case. Done similar tests for > x86_64 > too. > > Patch History: > v2: > - Removed ifdef arm.. clutter from igb_uio / virtio_ethedev files > - Introduced rte_io.h header file in generic/ and arch specifics i.e.. for > armv7 --> rte_io_32.h, for armv8 --> rte_io_64.h. > - Removed RTE_ARCH_X86 ifdef clutter too and added rte_io.h header which > nothing > but wraps sys/io.h for x86_64 and i686 > - Moved all the RTE_ARCH_ARM/64 dependancy for igb_uio case to separate > header > file named igbuio_ioport_misc.h. Now igb_uio.c will call only three > function > - igbuio_iomap > - igbuio_ioport_register > - igbuio_ioport_unregister > - Moved ARM/64 specific definition to include/exec-env/rte_virt_ioport.h > header > - Included virtio_ioport.c/h; has all private and public api required to > map > iopci bar for non-x86 arch. Tested on thunderX and x86_64 both. > Private api includes: > - virtio_map_ioport > - virtio_set_ioport_addr > Public api includes: > - virtio_ioport_init > - virtio_ioport_unmap > > - Last patch is the miscllanious format specifier fix identifid for 64bit > case > during regression. > > > Hi Yuanhan, Huawei and Others. I got arch specific review comment from arm maintainers and I am waiting for your review feedback on virtio specific patches? Is v3 patch and virtio iopci bar mapping to user-space approach ok with all? Thanks. > v1: > - First patch adds RTE_VIRTIO_INC_VECTOR config, much needed for archs like > arm/arm64 as they don't support vectored implementation, also wont able > to > build. > - Second patch is in-general fix for i686. > - Third patch is to emulate x86-style of {in,out}[b,w,l] api support for > armv7/v8. > As virtio-net-pci pmd driver uses those apis for port rd/wr {b,w,l} > - Fourth patch to enable VIRTIO_PMD feature in armv7/v8/thunderX config. > - Fifth patch to disable iopl syscall, As arm/arm64 linux kernel doesn't > support > them. > - Sixth patch introduces ioport memdevice called /dev/igb_ioport by which > virtio > pmd driver could able to rd/wr PCI_IOBAR. > {applicable for arm/arm64 only, tested for arm64 as of now} > > > Santosh Shukla (13): > virtio: Introduce config RTE_VIRTIO_INC_VECTOR > config: i686: set RTE_VIRTIO_INC_VECTOR=n > rte_io: armv7/v8: Introduce api to emulate x86-style of PCI/ISA > ioport access > virtio_pci: use rte_io.h for non-x86 arch > virtio: change io_base datatype from uint32_t to uint64_type > config: armv7/v8: Enable RTE_LIBRTE_VIRTIO_PMD > linuxapp: eal: arm: Always return 0 for rte_eal_iopl_init() > rte_io: x86: Remove sys/io.h ifdef x86 clutter > igb_uio: ioport: map iopci region for armv7/v8 > include/exec-env: ioport: add rte_virt_ioport header file > virtio_ioport: armv7/v8: mmap virtio iopci bar region > virtio_ethdev: use virtio_ioport api at device init/close > virtio_ethdev : fix format specifier error for 64bit addr case >