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 BFC9CA034C; Thu, 1 Sep 2022 02:10:04 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 55DA240395; Thu, 1 Sep 2022 02:10:04 +0200 (CEST) Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by mails.dpdk.org (Postfix) with ESMTP id 0185840143 for ; Thu, 1 Sep 2022 02:10:01 +0200 (CEST) Received: from localhost.localdomain (unknown [10.20.42.60]) by localhost.localdomain (Coremail) with SMTP id AQAAf8CxT+BT+A9jfFUOAA--.63382S3; Thu, 01 Sep 2022 08:09:57 +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: <32640c68-efa9-29f7-5b62-239ba40a99a2@loongson.cn> Date: Thu, 1 Sep 2022 08:09:55 +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: 7bit Content-Language: en-US X-CM-TRANSID: AQAAf8CxT+BT+A9jfFUOAA--.63382S3 X-Coremail-Antispam: 1UD129KBjvJXoW3JFy7tFy7Gry8GrWUWFyxAFb_yoW7uryUpr WDCFy3GF4xGrWxZr9Iv3WjgFn5Z3Z7Gr12gFyagryrCryIqw1DZr4xKF9ruFyxA34Utry0 gr1fuw1UWF15GaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUU9Ib7Iv0xC_Kw4lb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4 A2jsIEc7CjxVAFwI0_Gr0_Gr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI 64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8Jw Am72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lFIxGxcIEc7CjxVA2Y2ka0xkIwI1l c7I2V7IY0VAS07AlzVAYIcxG8wCY02Avz4vE-syl42xK82IYc2Ij64vIr41l4I8I3I0E4I kC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWU WwC2zVAF1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr 0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWU JVWUCwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJb IYCTnIWIevJa73UjIFyTuYvjxUqs2-DUUUU 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 Sincerely ping. On Sat, 27 Aug, 2022 at 16:59 +0800, 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