Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/112134/?format=api
http://patches.dpdk.org/api/patches/112134/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220531100245.542300-19-zhoumin@loongson.cn/", "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": "<20220531100245.542300-19-zhoumin@loongson.cn>", "list_archive_url": "https://inbox.dpdk.org/dev/20220531100245.542300-19-zhoumin@loongson.cn", "date": "2022-05-31T10:02:39", "name": "[v2,18/24] meson: introduce LoongArch architecture", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "0768d1ccd255b533cd8df32d0b5dafa469189eb7", "submitter": { "id": 2394, "url": "http://patches.dpdk.org/api/people/2394/?format=api", "name": "zhoumin", "email": "zhoumin@loongson.cn" }, "delegate": { "id": 24651, "url": "http://patches.dpdk.org/api/users/24651/?format=api", "username": "dmarchand", "first_name": "David", "last_name": "Marchand", "email": "david.marchand@redhat.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20220531100245.542300-19-zhoumin@loongson.cn/mbox/", "series": [ { "id": 23262, "url": "http://patches.dpdk.org/api/series/23262/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=23262", "date": "2022-05-31T10:02:32", "name": "Support LoongArch architecture", "version": 2, "mbox": "http://patches.dpdk.org/series/23262/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/112134/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/112134/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 2D527A0542;\n\tTue, 31 May 2022 12:10:20 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id C9E84400EF;\n\tTue, 31 May 2022 12:10:19 +0200 (CEST)", "from loongson.cn (mail.loongson.cn [114.242.206.163])\n by mails.dpdk.org (Postfix) with ESMTP id 37B8C400D6\n for <dev@dpdk.org>; Tue, 31 May 2022 12:10:18 +0200 (CEST)", "from localhost.localdomain (unknown [10.2.5.185])\n by mail.loongson.cn (Coremail) with SMTP id AQAAf9Dx307F55Vi1qUJAA--.589S20;\n Tue, 31 May 2022 18:02:56 +0800 (CST)" ], "From": "Min Zhou <zhoumin@loongson.cn>", "To": "thomas@monjalon.net, david.marchand@redhat.com,\n bruce.richardson@intel.com,\n anatoly.burakov@intel.com, qiming.yang@intel.com, Yuying.Zhang@intel.com,\n jgrajcia@cisco.com, konstantin.v.ananyev@yandex.ru", "Cc": "dev@dpdk.org,\n\tmaobibo@loongson.cn", "Subject": "[v2 18/24] meson: introduce LoongArch architecture", "Date": "Tue, 31 May 2022 18:02:39 +0800", "Message-Id": "<20220531100245.542300-19-zhoumin@loongson.cn>", "X-Mailer": "git-send-email 2.31.1", "In-Reply-To": "<20220531100245.542300-1-zhoumin@loongson.cn>", "References": "<20220531100245.542300-1-zhoumin@loongson.cn>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-CM-TRANSID": "AQAAf9Dx307F55Vi1qUJAA--.589S20", "X-Coremail-Antispam": "1UD129KBjvJXoWxAF45Zry3XF4kGFy5KFW5GFg_yoWrZw4rpF\n ZrZF15Kr48Wr1ftrsxX34jqw4rJwnrCa47Wa1SgrySkFZrKrykZ34kK3s8Xa4xAw18trWF\n qrs3Ga4YgF4UJw7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\n 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU==", "X-CM-SenderInfo": "52kr3ztlq6z05rqj20fqof0/", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "This patch adds some meson.build files for building DPDK on\nLoongArch architecture.\n\nSigned-off-by: Min Zhou <zhoumin@loongson.cn>\n---\n .../loongarch/loongarch_loongarch64_linux_gcc | 16 +++++++\n config/loongarch/meson.build | 46 +++++++++++++++++++\n lib/eal/loongarch/include/meson.build | 21 +++++++++\n lib/eal/loongarch/meson.build | 11 +++++\n meson.build | 2 +\n 5 files changed, 96 insertions(+)\n create mode 100644 config/loongarch/loongarch_loongarch64_linux_gcc\n create mode 100644 config/loongarch/meson.build\n create mode 100644 lib/eal/loongarch/include/meson.build\n create mode 100644 lib/eal/loongarch/meson.build", "diff": "diff --git a/config/loongarch/loongarch_loongarch64_linux_gcc b/config/loongarch/loongarch_loongarch64_linux_gcc\nnew file mode 100644\nindex 0000000000..ca94dab705\n--- /dev/null\n+++ b/config/loongarch/loongarch_loongarch64_linux_gcc\n@@ -0,0 +1,16 @@\n+[binaries]\n+c = 'loongarch64-linux-gnu-gcc'\n+cpp = 'loongarch64-linux-gnu-cpp'\n+ar = 'loongarch64-linux-gnu-gcc-ar'\n+strip = 'loongarch64-linux-gnu-strip'\n+pcap-config = ''\n+\n+[host_machine]\n+system = 'linux'\n+cpu_family = 'loongarch64'\n+cpu = '3a5000'\n+endian = 'little'\n+\n+[properties]\n+implementor_id = 'generic'\n+implementor_pn = 'default'\ndiff --git a/config/loongarch/meson.build b/config/loongarch/meson.build\nnew file mode 100644\nindex 0000000000..8d76ae1a19\n--- /dev/null\n+++ b/config/loongarch/meson.build\n@@ -0,0 +1,46 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2022 Loongson Technology Corporation Limited\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', 'loongarch')\n+dpdk_conf.set('RTE_ARCH_LOONGARCH', 1)\n+dpdk_conf.set('RTE_ARCH_NO_VECTOR', 1)\n+\n+# for checking defines we need to use the correct compiler flags\n+march_opt = '-march=@0@'.format(machine)\n+\n+machine_args_generic = [\n+ ['default', ['-march=loongarch64']],\n+]\n+\n+flags_generic = [\n+ ['RTE_MACHINE', '\"loongarch64\"'],\n+ ['RTE_MAX_LCORE', 64],\n+ ['RTE_MAX_NUMA_NODES', 16],\n+ ['RTE_CACHE_LINE_SIZE', 64]]\n+\n+impl_generic = ['Generic loongarch', flags_generic, machine_args_generic]\n+\n+machine = []\n+machine_args = []\n+\n+machine = impl_generic\n+impl_pn = 'default'\n+\n+message('Implementer : ' + machine[0])\n+foreach flag: machine[1]\n+ if flag.length() > 0\n+dpdk_conf.set(flag[0], flag[1])\n+ endif\n+endforeach\n+\n+foreach marg: machine[2]\n+ if marg[0] == impl_pn\n+ foreach f: marg[1]\n+ machine_args += f\n+ endforeach\n+ endif\n+endforeach\n+message(machine_args)\ndiff --git a/lib/eal/loongarch/include/meson.build b/lib/eal/loongarch/include/meson.build\nnew file mode 100644\nindex 0000000000..d5699c5373\n--- /dev/null\n+++ b/lib/eal/loongarch/include/meson.build\n@@ -0,0 +1,21 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2022 Loongson Technology Corporation Limited\n+\n+arch_headers = files(\n+\t'rte_atomic.h',\n+\t'rte_byteorder.h',\n+\t'rte_cpuflags.h',\n+\t'rte_cycles.h',\n+\t'rte_io.h',\n+\t'rte_mcslock.h',\n+\t'rte_memcpy.h',\n+\t'rte_pause.h',\n+\t'rte_pflock.h',\n+\t'rte_power_intrinsics.h',\n+\t'rte_prefetch.h',\n+\t'rte_rwlock.h',\n+\t'rte_spinlock.h',\n+\t'rte_ticketlock.h',\n+\t'rte_vect.h',\n+)\n+install_headers(arch_headers, subdir: get_option('include_subdir_arch'))\ndiff --git a/lib/eal/loongarch/meson.build b/lib/eal/loongarch/meson.build\nnew file mode 100644\nindex 0000000000..e14b1ed431\n--- /dev/null\n+++ b/lib/eal/loongarch/meson.build\n@@ -0,0 +1,11 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2022 Loongson Technology Corporation Limited\n+\n+subdir('include')\n+\n+sources += files(\n+\t'rte_cpuflags.c',\n+\t'rte_cycles.c',\n+\t'rte_hypervisor.c',\n+\t'rte_power_intrinsics.c',\n+)\ndiff --git a/meson.build b/meson.build\nindex 937f6110c0..573844dd2e 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -50,6 +50,8 @@ elif host_machine.cpu_family().startswith('arm') or host_machine.cpu_family().st\n arch_subdir = 'arm'\n elif host_machine.cpu_family().startswith('ppc')\n arch_subdir = 'ppc'\n+elif host_machine.cpu_family().startswith('loongarch')\n+ arch_subdir = 'loongarch'\n endif\n \n # configure the build, and make sure configs here and in config folder are\n", "prefixes": [ "v2", "18/24" ] }{ "id": 112134, "url": "