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 EB065A054A; Tue, 6 Sep 2022 03:32:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8735A400D6; Tue, 6 Sep 2022 03:32:12 +0200 (CEST) Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by mails.dpdk.org (Postfix) with ESMTP id 5BD8540041 for ; Tue, 6 Sep 2022 03:32:10 +0200 (CEST) Received: from [10.20.42.170] (unknown [10.20.42.170]) by localhost.localdomain (Coremail) with SMTP id AQAAf8DxPGu4ohZjA0gSAA--.13606S3; Tue, 06 Sep 2022 09:30:32 +0800 (CST) Message-ID: <8462017f-af0c-8445-f15d-94a44e7e55d2@loongson.cn> Date: Tue, 6 Sep 2022 09:30:32 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH v6 0/7] Introduce support for LoongArch architecture Content-Language: en-US To: zhoumin , 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 References: <20220827085908.52080-1-zhoumin@loongson.cn> <32640c68-efa9-29f7-5b62-239ba40a99a2@loongson.cn> From: maobibo In-Reply-To: <32640c68-efa9-29f7-5b62-239ba40a99a2@loongson.cn> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-CM-TRANSID: AQAAf8DxPGu4ohZjA0gSAA--.13606S3 X-Coremail-Antispam: 1UD129KBjvJXoW3Ary7ArW8tF1ktFWkGw1rWFg_yoW3AF45pr WkCry5JFyUCrn3Jr17Xw1jgry5Jr18Gw17tF13WFyUCry2qw1jqr4UWryj9FyUAw48Jr1j qr1Uur1UuF1UXr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUU9K14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U JVWxJr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AKxV W8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xf McIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7 v_Jr0_Gr1lF7xvr2IY64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E 8cxan2IY04v7Mxk0xIA0c2IEe2xFo4CEbIxvr21lc2xSY4AK6svPMxAIw28IcxkI7VAKI4 8JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xv wVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x0EwIxGrwCI42IY6xIIjx v20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20E Y4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267 AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjfUoOJ5UUUUU X-CM-SenderInfo: xpdruxter6z05rqj20fqof0/ 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, any comments is welcome. Now linux kernel/gcc/binutils mainline branches have add support for Loongarch. only there is no popular OS distribution. regards bibo,mao 在 2022/9/1 08:09, zhoumin 写道: > 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