From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f174.google.com (mail-pf0-f174.google.com [209.85.192.174]) by dpdk.org (Postfix) with ESMTP id 26525B62 for ; Thu, 17 Dec 2015 11:01:30 +0100 (CET) Received: by mail-pf0-f174.google.com with SMTP id v86so28338582pfa.2 for ; Thu, 17 Dec 2015 02:01:30 -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=Q1gJZdPcwot4ioait6YlnJbxm6i1oJaHec+2/olMrqs=; b=dsFXsBZjvuZRfnNgfF9f4ZhVYxjJ92k9ZpzeRJXWNbM94rympObQ2vqBjA2nXAKFFr KOIj3kpfZd3+QFBjQVbcELxSFgYlt54R2nTaWTXQyvoy8RzFttVsvL38iipth+aQD/De VKih2GTOsopqIgkUUrMxNHZgAWv2mYTdz0YxgkODodyZRwdSzo0mtFvFfkFoIqz9Kj+r a/YIQYMaQ7nPwjUhs8fO/1n8tyWTn/2hbKCUCMnA9FkH/7KJhSM/HQd8Xh0YnWdiCgMV ZvDnu82TdUdU+oKnIjphxlz9Iivc4zpNhVysCOx05ob8wHyg6ubS3Tr4Ek+AHePFnIBR sTtQ== 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=Q1gJZdPcwot4ioait6YlnJbxm6i1oJaHec+2/olMrqs=; b=kO8XhdjvHWiJ4dTTv3qXJqf3DRp+fjCnevUcQtyac/AtRBDUk8Y/EdMACkYJ3K8225 5DiHR3flM/mjfS5YETjWszD9cMQgM8QPKOWdiWvOtqa3ymC7sjIzYds8NrgqyvpmI7gl lI7SPvGpcG3ViOAmpEnaZC9Rg6A+9rHdJH8v7C+HsZL5MtNqc6Kx3zeK3duQD0qXuftY Oa/RADsjPrNZ+tJ4yFvURHG3F0Lfjd5FYIiPJiLmgaGFbZQiEqtxqm7JIM5GLteI+dD5 zGc+iKa0URvTyGnM/GeE1aL/sEPkjx6YGzFa1NMiQ09Y4cKHPw1o28fQATQalxaboum/ 8oOA== X-Gm-Message-State: ALoCoQkOoV9xF5EwFOAtHbd7JUtgkU+coavkCHyL2KfBSFXFNAp3g0C440ysqmwvDXvp/rQW3E4EaXMc7x+CbYlWzjtEHKP4iw3ujLSt97UXfoIlZjNcFVE= MIME-Version: 1.0 X-Received: by 10.98.71.193 with SMTP id p62mr12659552pfi.142.1450346489375; Thu, 17 Dec 2015 02:01:29 -0800 (PST) Received: by 10.66.13.233 with HTTP; Thu, 17 Dec 2015 02:01:29 -0800 (PST) In-Reply-To: <20151217093847.GB29571@yliu-dev.sh.intel.com> References: <1450269064-23608-1-git-send-email-david.marchand@6wind.com> <20151216124834.GR29571@yliu-dev.sh.intel.com> <20151217093847.GB29571@yliu-dev.sh.intel.com> Date: Thu, 17 Dec 2015 15:31:29 +0530 Message-ID: From: Santosh Shukla To: Yuanhan Liu Content-Type: text/plain; charset=UTF-8 Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] eal: map io resources for non x86 architectures 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: Thu, 17 Dec 2015 10:01:30 -0000 On Thu, Dec 17, 2015 at 3:08 PM, Yuanhan Liu wrote: > On Wed, Dec 16, 2015 at 07:21:55PM +0530, Santosh Shukla wrote: >> On Wed, Dec 16, 2015 at 6:18 PM, Yuanhan Liu >> wrote: >> > On Wed, Dec 16, 2015 at 01:31:04PM +0100, David Marchand wrote: >> >> x86 requires a special set of instructions to access ioports, but other >> >> architectures let you remap io resources. >> >> So let eal remap io resources by accepting IORESOURCE_IO flag for >> >> architectures other than x86. >> > >> > One question: this patch could be a replacement of the igbuio_iomap patch >> > from Santosh? If so, I like it: It's more elegant. >> > >> > --yliu >> > >> >> I did tried similar in past but not in parse_sysfs (such that >> mem.resource_addr to accept IO_RESOURCE_IO types) and observed that >> pci_map_resource not able to map address hence segfault at tespmd >> initialization. >> >> i was getting these: >> EAL: pci_map_resource(): cannot mmap(19, 0x7fa5c00000, 0x20, 0x0): >> Invalid argument (0xffffffffffffffff) > > That's because ARM (at least the kernel) doesn't allow an IO map: > > arch/arm/kernel/bios32.c > ------------------------ > 618 int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, > 619 enum pci_mmap_state mmap_state, int write_combine) > 620 { > 621 if (mmap_state == pci_mmap_io) > 622 return -EINVAL; > > And with a quick glimpse of powerpc, I see no such limitation. Hence, > this peice of code may work only on Powerpc platform (and maybe a few > others we don't care). > > So, apparently, this will not work for ARM. > Right and I did shared detailed explanation on why it wont work on this link [1], infact this patch shouldn;t work for mips too. As I mentioned earlier I did tried similar approach and so to get everything working like iomem is currently in dpdk; we need to add something like pci_remap_iospace --> ioremap_page_range() but this api not really pci_mmap_page_range types. user need to write more code on top so to use this api efficiently, also this api looks like meant to use by arch file only in kernel space. > --yliu