From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH 6/6] virtio: arm/arm64: memory mapped IO support in pmd driver Date: Mon, 7 Dec 2015 09:08:33 -0800 Message-ID: <20151207090833.03f65d63@xeon-e3> References: <1449250519-28372-1-git-send-email-sshukla@mvista.com> <1449250519-28372-7-git-send-email-sshukla@mvista.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org, Rizwan Ansari To: Santosh Shukla Return-path: Received: from mail-pf0-f170.google.com (mail-pf0-f170.google.com [209.85.192.170]) by dpdk.org (Postfix) with ESMTP id 7ED689A92 for ; Mon, 7 Dec 2015 18:08:25 +0100 (CET) Received: by pfu207 with SMTP id 207so67705055pfu.2 for ; Mon, 07 Dec 2015 09:08:24 -0800 (PST) In-Reply-To: <1449250519-28372-7-git-send-email-sshukla@mvista.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, 4 Dec 2015 23:05:19 +0530 Santosh Shukla wrote: > > +#ifdef RTE_EXEC_ENV_LINUXAPP > +/* start address of first pci_iobar slot (user-space virtual-addres) */ > +void *ioport_map; > +#if defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64) > + > +#include > +#define DEV_NAME "/dev/igb_ioport" > + > +/* Keeping pci_ioport_size = 4k. > + * So maximum mmaped pci_iobar supported = > + * (ioport_size/pci_dev->mem_resource[0].len) > + * > + * note: kernel could allow maximum 32 virtio-net-pci interface, that mean > + * maximum 32 PCI_IOBAR(s) where each PCI_IOBAR_LEN=0x20, so virtio_map_ioport() > + * func by theory gonna support 4k/0x20 ==> 128 PCI_IOBAR(s), more than > + * max-virtio-net-pci interface. > + */ > +#define PAGE_SIZE 4096 > +#define PCI_IOPORT_SIZE PAGE_SIZE > +#define PCI_IOPORT_MAX 128 /* 4k / 0x20 */ > + > +int ioport_map_cnt; > +#endif /* ARM, ARM64 */ > +#endif /* RTE_EXEC_ENV_LINUXAPP */ These variables should be static. Also, it is should be possible to extract the I/O bar stuff in a generic way through sysfs and not depend on a character device. The long term goal for DPDK acceptance is to eliminate (or at least reduce to a minumum) any requirement for special kernel drivers.