Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/28256/?format=api
https://patches.dpdk.org/api/patches/28256/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20170901100416.80264-4-bruce.richardson@intel.com/", "project": { "id": 1, "url": "https://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": "<20170901100416.80264-4-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20170901100416.80264-4-bruce.richardson@intel.com", "date": "2017-09-01T10:04:02", "name": "[dpdk-dev,03/17] igb_uio: add igb_uio kmod to meson build", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "093b1d2b8073caa5c6eac9979e7a9ae6a16a96b2", "submitter": { "id": 20, "url": "https://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20170901100416.80264-4-bruce.richardson@intel.com/mbox/", "series": [], "comments": "https://patches.dpdk.org/api/patches/28256/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/28256/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 1465D7CBD;\n\tFri, 1 Sep 2017 12:18:16 +0200 (CEST)", "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n\tby dpdk.org (Postfix) with ESMTP id 11A252C72\n\tfor <dev@dpdk.org>; Fri, 1 Sep 2017 12:18:13 +0200 (CEST)", "from fmsmga004.fm.intel.com ([10.253.24.48])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t01 Sep 2017 03:18: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; 01 Sep 2017 03:18:12 -0700" ], "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.41,457,1498546800\"; d=\"scan'208\";a=\"306892506\"", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "dev@dpdk.org", "Cc": "Bruce Richardson <bruce.richardson@intel.com>", "Date": "Fri, 1 Sep 2017 11:04:02 +0100", "Message-Id": "<20170901100416.80264-4-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.13.5", "In-Reply-To": "<20170901100416.80264-1-bruce.richardson@intel.com>", "References": "<20170901100416.80264-1-bruce.richardson@intel.com>", "Subject": "[dpdk-dev] [PATCH 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 | 47 +++++++++++++++++++++++++++++\n lib/librte_eal/linuxapp/meson.build | 10 ++++++\n meson_options.txt | 2 ++\n 4 files changed, 60 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..c046e1d66\n--- /dev/null\n+++ b/lib/librte_eal/linuxapp/igb_uio/meson.build\n@@ -0,0 +1,47 @@\n+# BSD LICENSE\n+#\n+# Copyright(c) 2017 Intel Corporation. All rights reserved.\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+\tdepend_files: [join_paths(kernel_dir, 'Kconfig')],\n+\tbuild_by_default: true)\ndiff --git a/lib/librte_eal/linuxapp/meson.build b/lib/librte_eal/linuxapp/meson.build\nindex bc9f22175..2383bd368 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", "03/17" ] }{ "id": 28256, "url": "