Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/28667/?format=api
http://patches.dpdk.org/api/patches/28667/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20170913141222.253688-4-bruce.richardson@intel.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20170913141222.253688-4-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20170913141222.253688-4-bruce.richardson@intel.com", "date": "2017-09-13T14:12:08", "name": "[dpdk-dev,v3,03/17] igb_uio: add igb_uio kmod to meson build", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "d8346c6f69441f152829ac49ccfb78b1828fbae6", "submitter": { "id": 20, "url": "http://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": { "id": 10, "url": "http://patches.dpdk.org/api/users/10/?format=api", "username": "bruce", "first_name": "Bruce", "last_name": "Richardson", "email": "bruce.richardson@intel.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20170913141222.253688-4-bruce.richardson@intel.com/mbox/", "series": [], "comments": "http://patches.dpdk.org/api/patches/28667/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/28667/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 4872B1B19C;\n\tWed, 13 Sep 2017 17:08:20 +0200 (CEST)", "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n\tby dpdk.org (Postfix) with ESMTP id 8E21A1AF03\n\tfor <dev@dpdk.org>; Wed, 13 Sep 2017 17:08:14 +0200 (CEST)", "from fmsmga004.fm.intel.com ([10.253.24.48])\n\tby fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t13 Sep 2017 08:08:13 -0700", "from silpixa00399126.ir.intel.com (HELO\n\tsilpixa00399126.ger.corp.intel.com) ([10.237.223.223])\n\tby fmsmga004.fm.intel.com with ESMTP; 13 Sep 2017 08:08:12 -0700" ], "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.42,388,1500966000\"; d=\"scan'208\";a=\"311250576\"", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "dev@dpdk.org", "Cc": "nhorman@tuxdriver.com, luca.boccassi@gmail.com,\n\tharry.van.haaren@intel.com, \n\tkeith.wiles@intel.com, Bruce Richardson <bruce.richardson@intel.com>", "Date": "Wed, 13 Sep 2017 15:12:08 +0100", "Message-Id": "<20170913141222.253688-4-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.13.5", "In-Reply-To": "<20170913141222.253688-1-bruce.richardson@intel.com>", "References": "<20170912103809.140473-1-bruce.richardson@intel.com>\n\t<20170913141222.253688-1-bruce.richardson@intel.com>", "Subject": "[dpdk-dev] [PATCH v3 03/17] igb_uio: add igb_uio kmod to meson build", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://dpdk.org/ml/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Support building igb_uio using meson and ninja. For this, we still use the\nkernel's kbuild system, by calling out to make, since it's safer and easier\nthan trying to reproduce that in meson. A list of suitable file\ndependencies is given so that we have a reasonable chance of a rebuild when\nnecessary.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n lib/librte_eal/linuxapp/igb_uio/Kbuild | 1 +\n lib/librte_eal/linuxapp/igb_uio/meson.build | 46 +++++++++++++++++++++++++++++\n lib/librte_eal/linuxapp/meson.build | 10 +++++++\n meson_options.txt | 2 ++\n 4 files changed, 59 insertions(+)\n create mode 100644 lib/librte_eal/linuxapp/igb_uio/Kbuild\n create mode 100644 lib/librte_eal/linuxapp/igb_uio/meson.build", "diff": "diff --git a/lib/librte_eal/linuxapp/igb_uio/Kbuild b/lib/librte_eal/linuxapp/igb_uio/Kbuild\nnew file mode 100644\nindex 000000000..98c98fe52\n--- /dev/null\n+++ b/lib/librte_eal/linuxapp/igb_uio/Kbuild\n@@ -0,0 +1 @@\n+obj-m := igb_uio.o\ndiff --git a/lib/librte_eal/linuxapp/igb_uio/meson.build b/lib/librte_eal/linuxapp/igb_uio/meson.build\nnew file mode 100644\nindex 000000000..4712756ea\n--- /dev/null\n+++ b/lib/librte_eal/linuxapp/igb_uio/meson.build\n@@ -0,0 +1,46 @@\n+# BSD LICENSE\n+#\n+# Copyright(c) 2017 Intel Corporation.\n+# All rights reserved.\n+#\n+# Redistribution and use in source and binary forms, with or without\n+# modification, are permitted provided that the following conditions\n+# are met:\n+#\n+# * Redistributions of source code must retain the above copyright\n+# notice, this list of conditions and the following disclaimer.\n+# * Redistributions in binary form must reproduce the above copyright\n+# notice, this list of conditions and the following disclaimer in\n+# the documentation and/or other materials provided with the\n+# distribution.\n+# * Neither the name of Intel Corporation nor the names of its\n+# contributors may be used to endorse or promote products derived\n+# from this software without specific prior written permission.\n+#\n+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+mkfile = custom_target('igb_uio_makefile',\n+\toutput: 'Makefile',\n+\tcommand: ['touch', '@OUTPUT@'])\n+\n+custom_target('igb_uio',\n+\tinput: ['igb_uio.c', 'Kbuild'],\n+\toutput: 'igb_uio.ko',\n+\tcommand: ['make', '-C', kernel_dir,\n+\t\t'M=' + meson.current_build_dir(),\n+\t\t'src=' + meson.current_source_dir(),\n+\t\t'EXTRA_CFLAGS=-I' + meson.current_source_dir() +\n+\t\t\t'/../../common/include',\n+\t\t'modules'],\n+\tdepends: mkfile,\n+\tbuild_by_default: true)\ndiff --git a/lib/librte_eal/linuxapp/meson.build b/lib/librte_eal/linuxapp/meson.build\nindex bda974a9a..16a3f6b8b 100644\n--- a/lib/librte_eal/linuxapp/meson.build\n+++ b/lib/librte_eal/linuxapp/meson.build\n@@ -30,3 +30,13 @@\n # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n \n subdir('eal')\n+\n+if get_option('enable_kmods')\n+\tkernel_dir = get_option('kernel_dir')\n+\tif kernel_dir == ''\n+\t\tkernel_version = run_command('uname', '-r').stdout().strip()\n+\t\tkernel_dir = '/lib/modules/' + kernel_version + '/build'\n+\tendif\n+\n+\tsubdir('igb_uio')\n+endif\ndiff --git a/meson_options.txt b/meson_options.txt\nindex c03b79fbd..9c45b8159 100644\n--- a/meson_options.txt\n+++ b/meson_options.txt\n@@ -4,3 +4,5 @@ option('max_numa_nodes', type: 'string', value: '4', description: 'maximum numbe\n option('use_hpet', type: 'boolean', value: false, description: 'use HPET timer in EAL')\n option('allow_invalid_socket_id', type: 'boolean', value: false,\n \tdescription: 'allow out-of-range NUMA socket id\\'s for platforms that don\\'t report the value correctly')\n+option('enable_kmods', type: 'boolean', value: true, description: 'build kernel modules')\n+option('kernel_dir', type: 'string', value: '', description: 'path to the kernel for building kernel modules')\n", "prefixes": [ "dpdk-dev", "v3", "03/17" ] }{ "id": 28667, "url": "