Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/45369/?format=api
https://patches.dpdk.org/api/patches/45369/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20180926091536.61370-1-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": "<20180926091536.61370-1-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20180926091536.61370-1-bruce.richardson@intel.com", "date": "2018-09-26T09:15:36", "name": "build: set RTE_ARCH_64 based on pointer size", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "cfe25a686916239c8dc10ca5e3575d83f3d5381e", "submitter": { "id": 20, "url": "https://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": { "id": 1, "url": "https://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20180926091536.61370-1-bruce.richardson@intel.com/mbox/", "series": [ { "id": 1513, "url": "https://patches.dpdk.org/api/series/1513/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=1513", "date": "2018-09-26T09:15:36", "name": "build: set RTE_ARCH_64 based on pointer size", "version": 1, "mbox": "https://patches.dpdk.org/series/1513/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/45369/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/45369/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 20F501B118;\n\tWed, 26 Sep 2018 11:15:50 +0200 (CEST)", "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n\tby dpdk.org (Postfix) with ESMTP id 037657EDC\n\tfor <dev@dpdk.org>; Wed, 26 Sep 2018 11:15:47 +0200 (CEST)", "from orsmga006.jf.intel.com ([10.7.209.51])\n\tby orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t26 Sep 2018 02:15:46 -0700", "from silpixa00399126.ir.intel.com (HELO\n\tsilpixa00399126.ger.corp.intel.com) ([10.237.223.223])\n\tby orsmga006.jf.intel.com with ESMTP; 26 Sep 2018 02:15:41 -0700" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.54,305,1534834800\"; d=\"scan'208\";a=\"77383044\"", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "dev@dpdk.org", "Cc": "bluca@debian.org,\n\tBruce Richardson <bruce.richardson@intel.com>", "Date": "Wed, 26 Sep 2018 10:15:36 +0100", "Message-Id": "<20180926091536.61370-1-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.17.1", "Subject": "[dpdk-dev] [PATCH] build: set RTE_ARCH_64 based on pointer size", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Rather than relying on the target machine architecture, use the\nsize of a pointer from the compiler to determine if we are 64-bits\nor not. This allows correct behaviour when you pass -m32 as a compile\noption. It also allows us to use this value repeatedly throughout the\nrepo rather than continually testing for the sizeof(void*).\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n config/arm/meson.build | 3 +--\n config/meson.build | 5 ++++-\n config/ppc_64/meson.build | 4 +++-\n config/x86/meson.build | 3 +--\n drivers/net/sfc/meson.build | 2 +-\n lib/librte_bpf/meson.build | 2 +-\n lib/librte_kni/meson.build | 2 +-\n 7 files changed, 12 insertions(+), 9 deletions(-)", "diff": "diff --git a/config/arm/meson.build b/config/arm/meson.build\nindex 94cca490e..5a1b79a15 100644\n--- a/config/arm/meson.build\n+++ b/config/arm/meson.build\n@@ -85,14 +85,13 @@ impl_dpaa2 = ['NXP DPAA2', flags_dpaa2, machine_args_generic]\n \n dpdk_conf.set('RTE_FORCE_INTRINSICS', 1)\n \n-if cc.sizeof('void *') != 8\n+if not dpdk_conf.get('RTE_ARCH_64')\n \tdpdk_conf.set('RTE_CACHE_LINE_SIZE', 64)\n \tdpdk_conf.set('RTE_ARCH_ARM', 1)\n \tdpdk_conf.set('RTE_ARCH_ARMv7', 1)\n else\n \tdpdk_conf.set('RTE_CACHE_LINE_SIZE', 128)\n \tdpdk_conf.set('RTE_ARCH_ARM64', 1)\n-\tdpdk_conf.set('RTE_ARCH_64', 1)\n \n \tmachine = []\n \tcmd_generic = ['generic', '', '', 'default', '']\ndiff --git a/config/meson.build b/config/meson.build\nindex 6f9228c87..172ab0249 100644\n--- a/config/meson.build\n+++ b/config/meson.build\n@@ -21,6 +21,8 @@ toolchain = cc.get_id()\n dpdk_conf.set_quoted('RTE_TOOLCHAIN', toolchain)\n dpdk_conf.set('RTE_TOOLCHAIN_' + toolchain.to_upper(), 1)\n \n+dpdk_conf.set('RTE_ARCH_64', cc.sizeof('void *') == 8)\n+\n # use pthreads\n add_project_link_arguments('-pthread', language: 'c')\n dpdk_extra_ldflags += '-pthread'\n@@ -65,7 +67,7 @@ warning_flags = [\n \t'-Wcast-qual',\n \t'-Wno-address-of-packed-member'\n ]\n-if cc.sizeof('void *') == 4\n+if not dpdk_conf.get('RTE_ARCH_64')\n # for 32-bit, don't warn about casting a 32-bit pointer to 64-bit int - it's fine!!\n \twarning_flags += '-Wno-pointer-to-int-cast'\n endif\n@@ -85,6 +87,7 @@ dpdk_conf.set('RTE_MAX_VFIO_GROUPS', 64)\n dpdk_conf.set('RTE_DRIVER_MEMPOOL_BUCKET_SIZE_KB', 64)\n dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', true)\n \n+\n compile_time_cpuflags = []\n if host_machine.cpu_family().startswith('x86')\n \tarch_subdir = 'x86'\ndiff --git a/config/ppc_64/meson.build b/config/ppc_64/meson.build\nindex e207c438b..7ceae1d39 100644\n--- a/config/ppc_64/meson.build\n+++ b/config/ppc_64/meson.build\n@@ -1,9 +1,11 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>\n \n+if not dpdk_conf.get('RTE_ARCH_64')\n+\terror('Only 64-bit compiles are supported for this platform type')\n+endif\n dpdk_conf.set('RTE_ARCH', 'ppc_64')\n dpdk_conf.set('RTE_ARCH_PPC_64', 1)\n-dpdk_conf.set('RTE_ARCH_64', 1)\n \n # overrides specific to ppc64\n dpdk_conf.set('RTE_MAX_LCORE', 256)\ndiff --git a/config/x86/meson.build b/config/x86/meson.build\nindex 33efb5e54..084328da2 100644\n--- a/config/x86/meson.build\n+++ b/config/x86/meson.build\n@@ -19,10 +19,9 @@ foreach f:base_flags\n endforeach\n \n dpdk_conf.set('RTE_ARCH_X86', 1)\n-if (host_machine.cpu_family() == 'x86_64')\n+if dpdk_conf.get('RTE_ARCH_64')\n \tdpdk_conf.set('RTE_ARCH_X86_64', 1)\n \tdpdk_conf.set('RTE_ARCH', 'x86_64')\n-\tdpdk_conf.set('RTE_ARCH_64', 1)\n else\n \tdpdk_conf.set('RTE_ARCH_I686', 1)\n \tdpdk_conf.set('RTE_ARCH', 'i686')\ndiff --git a/drivers/net/sfc/meson.build b/drivers/net/sfc/meson.build\nindex 2d34e869d..e67560991 100644\n--- a/drivers/net/sfc/meson.build\n+++ b/drivers/net/sfc/meson.build\n@@ -6,7 +6,7 @@\n # This software was jointly developed between OKTET Labs (under contract\n # for Solarflare) and Solarflare Communications, Inc.\n \n-if arch_subdir != 'x86' or cc.sizeof('void *') == 4\n+if arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')\n \tbuild = false\n endif\n \ndiff --git a/lib/librte_bpf/meson.build b/lib/librte_bpf/meson.build\nindex bc0cd78f9..4fbb29d7c 100644\n--- a/lib/librte_bpf/meson.build\n+++ b/lib/librte_bpf/meson.build\n@@ -8,7 +8,7 @@ sources = files('bpf.c',\n \t\t'bpf_pkt.c',\n \t\t'bpf_validate.c')\n \n-if arch_subdir == 'x86' and cc.sizeof('void *') == 8\n+if arch_subdir == 'x86' and dpdk_conf.get('RTE_ARCH_64')\n \tsources += files('bpf_jit_x86.c')\n endif\n \ndiff --git a/lib/librte_kni/meson.build b/lib/librte_kni/meson.build\nindex a738a033a..055ae1227 100644\n--- a/lib/librte_kni/meson.build\n+++ b/lib/librte_kni/meson.build\n@@ -1,7 +1,7 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2017 Intel Corporation\n \n-if host_machine.system() != 'linux' or cc.sizeof('void *') == 4\n+if host_machine.system() != 'linux' or not dpdk_conf.get('RTE_ARCH_64')\n \tbuild = false\n endif\n version = 2\n", "prefixes": [] }{ "id": 45369, "url": "