From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 9D4BB1B441 for ; Thu, 22 Nov 2018 15:19:01 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 4B2202206D; Thu, 22 Nov 2018 09:19:01 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Thu, 22 Nov 2018 09:19:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=mesmtp; bh=dYxKRAVVwR GhBFC9LtiBvAOREWAG5bEb4hRWPF/iZZQ=; b=nSNlVoc+b6Dvy4k4wqRrYm1iEo oPtdXjzTHfVPTmA9PCtED+PgiRfNKPAj1BPvNuJSF4JcwiHQIndxZ1QuM4fFseug wIrhvHXBj42RWnpmyk40MSOw1DTyK9HnKslMH5yN7r3tI6le5JKOAxHZbACvL8kT 60WZ4G5Ry0xWjXFus= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=dYxKRAVVwRGhBFC9LtiBvAOREWAG5bEb4hRWPF/iZZQ=; b=t/b1mazZ 5rsjDBmQ7cOZwX7HO6JXtgpZ6QV0qulsSYZ6yFciU7/CL/T4F1BNDwJwgUZ/K7lW kkjOpO9Fg6Dk8e1SY4qJ8hr5bUTJx7nO3bWBMuq0lGr3r1/pnrCN1I3ztBV/qiOT fuOANChaCxvcVljVD9dVr45epybrrv8R3a1351FCr1txSFRazHM4NF4DjX+MshVH wy0SA1GD1ydFi4YiLzctoIg6avtk22opeUDyZ/pvBkVwLvYynpPrGfuaoZsYFVLh JkOfHXFDjsWr/si5qFt4h/Sb4MJ4csMWAa2R5xUt5x70fT/ER6htPBlN4dH7FmKw MIZNAlCG6ubznw== X-ME-Sender: X-ME-Proxy: Received: from xps.monjalon.net (68.16.136.77.rev.sfr.net [77.136.16.68]) by mail.messagingengine.com (Postfix) with ESMTPA id E38E4E4A45; Thu, 22 Nov 2018 09:18:59 -0500 (EST) From: Thomas Monjalon To: dev@dpdk.org Cc: john.mcnamara@intel.com, marko.kovacevic@intel.com Date: Thu, 22 Nov 2018 15:18:35 +0100 Message-Id: <20181122141835.26151-2-thomas@monjalon.net> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181122141835.26151-1-thomas@monjalon.net> References: <20181122141835.26151-1-thomas@monjalon.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 2/2] doc: remove PCI-specific details from EAL guide 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: Thu, 22 Nov 2018 14:19:02 -0000 The PCI bus is an independent driver and not part of EAL as it was in the early days. EAL must be understood as a generic layer. Signed-off-by: Thomas Monjalon --- doc/guides/prog_guide/env_abstraction_layer.rst | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst index 4f8612a24..8b5d050c7 100644 --- a/doc/guides/prog_guide/env_abstraction_layer.rst +++ b/doc/guides/prog_guide/env_abstraction_layer.rst @@ -9,7 +9,7 @@ Environment Abstraction Layer The Environment Abstraction Layer (EAL) is responsible for gaining access to low-level resources such as hardware and memory space. It provides a generic interface that hides the environment specifics from the applications and libraries. It is the responsibility of the initialization routine to decide how to allocate these resources -(that is, memory space, PCI devices, timers, consoles, and so on). +(that is, memory space, devices, timers, consoles, and so on). Typical services expected from the EAL are: @@ -22,8 +22,6 @@ Typical services expected from the EAL are: * System Memory Reservation: The EAL facilitates the reservation of different memory zones, for example, physical memory areas for device interactions. -* PCI Address Abstraction: The EAL provides an interface to access PCI address space. - * Trace and Debug Functions: Logs, dump_stack, panic and so on. * Utility Functions: Spinlocks and atomic counters that are not provided in libc. @@ -39,8 +37,6 @@ EAL in a Linux-userland Execution Environment --------------------------------------------- In a Linux user space environment, the DPDK application runs as a user-space application using the pthread library. -PCI information about devices and address space is discovered through the /sys kernel interface and through kernel modules such as uio_pci_generic, or igb_uio. -Refer to the UIO: User-space drivers documentation in the Linux kernel. This memory is mmap'd in the application. The EAL performs physical memory allocation using mmap() in hugetlbfs (using huge page sizes to increase performance). This memory is exposed to DPDK service layers such as the :ref:`Mempool Library `. @@ -250,15 +246,6 @@ The expected workflow is as follows: For more information, please refer to ``rte_malloc`` API documentation, specifically the ``rte_malloc_heap_*`` family of function calls. -PCI Access -~~~~~~~~~~ - -The EAL uses the /sys/bus/pci utilities provided by the kernel to scan the content on the PCI bus. -To access PCI memory, a kernel module called uio_pci_generic provides a /dev/uioX device file -and resource files in /sys -that can be mmap'd to obtain access to PCI address space from the application. -The DPDK-specific igb_uio module can also be used for this. Both drivers use the uio kernel feature (userland driver). - Per-lcore and Shared Variables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- 2.19.0