From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0CBD4A00C3; Tue, 20 Sep 2022 05:01:39 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EE07140E0F; Tue, 20 Sep 2022 05:01:38 +0200 (CEST) Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by mails.dpdk.org (Postfix) with ESMTP id 09D7A40E0F for ; Tue, 20 Sep 2022 05:01:35 +0200 (CEST) Received: from localhost.localdomain (unknown [10.20.42.60]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cx9OEGLSljNVQeAA--.47411S3; Tue, 20 Sep 2022 11:01:28 +0800 (CST) Subject: Re: [PATCH v6 0/7] Introduce support for LoongArch architecture To: david.marchand@redhat.com, thomas@monjalon.net, bruce.richardson@intel.com, anatoly.burakov@intel.com, qiming.yang@intel.com, Yuying.Zhang@intel.com, jgrajcia@cisco.com, konstantin.v.ananyev@yandex.ru Cc: dev@dpdk.org, maobibo@loongson.cn References: <20220827085908.52080-1-zhoumin@loongson.cn> From: zhoumin Message-ID: <1a5c8cd5-320a-8c90-6d02-6da5eb775b56@loongson.cn> Date: Tue, 20 Sep 2022 11:01:26 +0800 User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20220827085908.52080-1-zhoumin@loongson.cn> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-CM-TRANSID: AQAAf8Cx9OEGLSljNVQeAA--.47411S3 X-Coremail-Antispam: 1UD129KBjvJXoW3JFy7tFy7Gry8GrWUWFyxAFb_yoW7uF1Dpr WDCF98GF4xGrWxZr9Iv3WjgFn5Z3Z7Gr12gFyagryrCryIqw1DZr4xKF9rZFyxA34Utry0 gr1fuw1UWF15G3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUU9G14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26F4j 6r4UJwA2z4x0Y4vEx4A2jsIE14v26r4UJVWxJr1l84ACjcxK6I8E87Iv6xkF7I0E14v26F 4UJVW0owAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv 7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r 1j6r4UM4x0Y48IcVAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628v n2kIc2xKxwCYjI0SjxkI62AI1cAE67vIY487MxkIecxEwVCm-wCF04k20xvY0x0EwIxGrw CFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE 14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2 IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04k26cxK x2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI 0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7VUbXdbUUUUUU== X-CM-SenderInfo: 52kr3ztlq6z05rqj20fqof0/ X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Kindly ping. Could anyone give some feedback? Thanks. On 2022年08月27日 16:59, Min Zhou wrote: > Dear team, > > The following patch set is intended to support DPDK running on LoongArch > architecture. > > LoongArch is the general processor architecture of Loongson Corporation > and is a new RISC ISA, which is a bit like MIPS or RISC-V. > > The online documents of LoongArch architecture are here: > https://loongson.github.io/LoongArch-Documentation/README-EN.html > > The latest build tools for LoongArch (binary) can be downloaded from: > https://github.com/loongson/build-tools > > v6: > - place some blocks for LoongArch in a pseudo alphabetical order > - remove some macros not used > - update release notes in the correct format > - remove some headers for LoongArch, including msclock, pflock and > ticketlock, which are now non-arch specific > - rename some helpers to make them more readable > - remove some copied comments > - force-set RTE_FORCE_INTRINSICS in config and remove non-arch > specific implementations > - fix format errors in meson file reported by check-meson.py > - rebase the patchset on the main repository > > v5: > - merge all patches for supporting LoongArch EAL into one patch > - add LoongArch cross compilation document and update some documents > related to architecture > - remove vector stubs added for LoongArch in net/i40e and net/ixgbe > - add LOONGARCH64 cross compilation job in github ci > > v4: > - rebase the patchset on the main repository of version 22.07.0 > > v3: > - add URL for cross compile tool chain > - remove rte_lpm_lsx.h which was a dummy vector implementation > because there is already a scalar implementation, thanks to > Michal Mazurek > - modify the name of compiler for cross compiling > - remove useless variable in meson.build > > v2: > - use standard atomics of toolchain to implement > atomic operations > - implement spinlock based on standard atomics > > *** BLURB HERE *** > > Min Zhou (7): > eal/loongarch: support LoongArch architecture > net/ixgbe: add vector stubs for LoongArch > net/memif: set memfd syscall ID on LoongArch > net/tap: set BPF syscall ID for LoongArch > examples/l3fwd: enable LoongArch operation > test/cpuflags: add test for LoongArch cpu flag > ci: add LOONGARCH64 cross compilation job > > .ci/linux-build.sh | 10 ++ > .github/workflows/build.yml | 10 +- > MAINTAINERS | 6 ++ > app/test/test_cpuflags.c | 41 ++++++++ > app/test/test_xmmt_ops.h | 12 +++ > .../loongarch/loongarch_loongarch64_linux_gcc | 16 ++++ > config/loongarch/meson.build | 43 +++++++++ > doc/guides/contributing/design.rst | 2 +- > .../cross_build_dpdk_for_loongarch.rst | 87 +++++++++++++++++ > doc/guides/linux_gsg/index.rst | 1 + > doc/guides/nics/features.rst | 8 ++ > doc/guides/nics/features/default.ini | 1 + > doc/guides/nics/features/ixgbe.ini | 1 + > doc/guides/rel_notes/release_22_11.rst | 7 ++ > drivers/net/i40e/meson.build | 6 ++ > drivers/net/ixgbe/ixgbe_rxtx.c | 7 +- > drivers/net/memif/rte_eth_memif.h | 2 + > drivers/net/tap/tap_bpf.h | 2 + > examples/l3fwd/l3fwd_em.c | 8 ++ > lib/eal/linux/eal_memory.c | 4 + > lib/eal/loongarch/include/meson.build | 18 ++++ > lib/eal/loongarch/include/rte_atomic.h | 47 ++++++++++ > lib/eal/loongarch/include/rte_byteorder.h | 40 ++++++++ > lib/eal/loongarch/include/rte_cpuflags.h | 39 ++++++++ > lib/eal/loongarch/include/rte_cycles.h | 47 ++++++++++ > lib/eal/loongarch/include/rte_io.h | 18 ++++ > lib/eal/loongarch/include/rte_memcpy.h | 61 ++++++++++++ > lib/eal/loongarch/include/rte_pause.h | 24 +++++ > .../loongarch/include/rte_power_intrinsics.h | 20 ++++ > lib/eal/loongarch/include/rte_prefetch.h | 47 ++++++++++ > lib/eal/loongarch/include/rte_rwlock.h | 42 +++++++++ > lib/eal/loongarch/include/rte_spinlock.h | 64 +++++++++++++ > lib/eal/loongarch/include/rte_vect.h | 65 +++++++++++++ > lib/eal/loongarch/meson.build | 11 +++ > lib/eal/loongarch/rte_cpuflags.c | 93 +++++++++++++++++++ > lib/eal/loongarch/rte_cycles.c | 45 +++++++++ > lib/eal/loongarch/rte_hypervisor.c | 11 +++ > lib/eal/loongarch/rte_power_intrinsics.c | 51 ++++++++++ > meson.build | 2 + > 39 files changed, 1015 insertions(+), 4 deletions(-) > create mode 100644 config/loongarch/loongarch_loongarch64_linux_gcc > create mode 100644 config/loongarch/meson.build > create mode 100644 doc/guides/linux_gsg/cross_build_dpdk_for_loongarch.rst > create mode 100644 lib/eal/loongarch/include/meson.build > create mode 100644 lib/eal/loongarch/include/rte_atomic.h > create mode 100644 lib/eal/loongarch/include/rte_byteorder.h > create mode 100644 lib/eal/loongarch/include/rte_cpuflags.h > create mode 100644 lib/eal/loongarch/include/rte_cycles.h > create mode 100644 lib/eal/loongarch/include/rte_io.h > create mode 100644 lib/eal/loongarch/include/rte_memcpy.h > create mode 100644 lib/eal/loongarch/include/rte_pause.h > create mode 100644 lib/eal/loongarch/include/rte_power_intrinsics.h > create mode 100644 lib/eal/loongarch/include/rte_prefetch.h > create mode 100644 lib/eal/loongarch/include/rte_rwlock.h > create mode 100644 lib/eal/loongarch/include/rte_spinlock.h > create mode 100644 lib/eal/loongarch/include/rte_vect.h > create mode 100644 lib/eal/loongarch/meson.build > create mode 100644 lib/eal/loongarch/rte_cpuflags.c > create mode 100644 lib/eal/loongarch/rte_cycles.c > create mode 100644 lib/eal/loongarch/rte_hypervisor.c > create mode 100644 lib/eal/loongarch/rte_power_intrinsics.c > -- Thanks, Min Zhou