From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D5EFCA328D for ; Wed, 23 Oct 2019 07:03:43 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 417B91BF5D; Wed, 23 Oct 2019 07:03:43 +0200 (CEST) Received: from mail-il1-f196.google.com (mail-il1-f196.google.com [209.85.166.196]) by dpdk.org (Postfix) with ESMTP id 796FB1BF46 for ; Wed, 23 Oct 2019 07:03:41 +0200 (CEST) Received: by mail-il1-f196.google.com with SMTP id o16so9603741ilq.9 for ; Tue, 22 Oct 2019 22:03:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=U7s9uwOCVC8g6OgLS8f5SU0lkOljWikbw71YaORtFmE=; b=YEma72AxQaQkuLydG60Ax6OZE2pQWKBVB5SgYWoHDHMpcnepLwSK2TseC3MIgC5xgm Hk6eFlZZXyDcXPD+1FPL6tbxcRn/ukctUjxrrFeMq3kTWzdybGqm3m40l907YcN4M6f7 49RhBjyHq37TleA2CBKrg46TRjphkcLwtaujNOE5iHJOA0Xa8rH2yZYLqfxpDxqn+jYV nKLPybXuIZSZSud3/dRvPj+VbbsoQG7F4JTJWLx1bjkZlf+PdKyZlmC1gJG9oN8UDAHs 3SkY/y3yBGktdKhDpKauU8SKEEPSMnhAELOqSSoTSE22pLdiMBTdSFNWGrUmcykyviEb KbLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=U7s9uwOCVC8g6OgLS8f5SU0lkOljWikbw71YaORtFmE=; b=KyUkUtJ+C1tqrngKKhWsaGpAXHyIFG0NJhrhONgAH1ylKfwtHfn4fiArJPUbrDigpy kZsmPGmCjsD3QtR2pvleyPVQvTFWdVDBRMzKzcaxR4RYXH56ScPUCGlPQuyXb9bwXqD9 kPN90Ga/l2CNkYfpkY5UdHXWGBQJ3xy/VuS9mZCc2xF0B1HS2jklT2MTBGEjU9e2hQ61 hcUQlKozygaxCw2FLBKY0VoBHIf/WteBAVik9w+OoOaXsKIuO4Bt3oSvy1/G1Zabx36m g1PfrMft0omuA0r0ZTSenMEKm51Xy3NJpLtOAhb8/ecF8TqaCapRvRsGde3HxiiCGGqV 51lg== X-Gm-Message-State: APjAAAWuJZ16oF/5ngj0VUT9gUU8KDFX47Kf6fv+weSx1eRNSHQJe5Jp e9hnlXXvPMx/HoBTBN/ik2nXUsyzkvTr5riOJ4c= X-Google-Smtp-Source: APXvYqyuKqFgS+tgamLP5PFB+hHopS41WHcljTLgK6spP+o8mRB0I4WWUCZmMQuB+HMzzceWy4I06sonM782o3Z95sc= X-Received: by 2002:a92:2c03:: with SMTP id t3mr36577252ile.271.1571807020610; Tue, 22 Oct 2019 22:03:40 -0700 (PDT) MIME-Version: 1.0 References: <1564615940-13183-1-git-send-email-gavin.hu@arm.com> <1564616902-13861-3-git-send-email-gavin.hu@arm.com> <9576728dbcf7bf3ef83ee61d1b61e01427a31279.camel@arm.com> In-Reply-To: From: Jerin Jacob Date: Wed, 23 Oct 2019 10:33:24 +0530 Message-ID: To: Honnappa Nagarahalli Cc: Ola Liljedahl , "Gavin Hu (Arm Technology China)" , "dev@dpdk.org" , "pbhagavatula@marvell.com" , "thomas@monjalon.net" , nd , "jerinj@marvell.com" , "hemant.agrawal@nxp.com" Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v2 2/3] config: add arm neoverse N1 SDP configuration X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Oct 23, 2019 at 2:37 AM Honnappa Nagarahalli wrote: > > > > > > > > > > > > > > > On Thu, 2019-08-01 at 07:48 +0800, Gavin Hu wrote: > > > > > Arm N1 SDP is an infrastructure segment development platform based > > > > > on armv8.2-a Neoverse N1 CPU. For more information, refer to: > > > > > https://community.arm.com/developer/tools-software/oss-platforms/w > > > > > / > > > > > docs/440/neoverse-n1-sdp > > > > > > > > > > Signed-off-by: Gavin Hu > > > > > Reviewed-by: Honnappa Nagarahalli > > > > > Reviewed-by: Steve Capper > > > > > --- > > > > > config/arm/meson.build | 9 ++++++- > > > > > config/defconfig_arm64-neoversen1-linux-gcc | 1 + > > > > > config/defconfig_arm64-neoversen1-linuxapp-gcc | 15 ++++++++++++ > > > > > mk/machine/neoversen1/rte.vars.mk | 34 > > > > > > > > > > > diff --git a/config/defconfig_arm64-neoversen1-linuxapp-gcc > > > > > b/config/defconfig_arm64-neoversen1-linuxapp-gcc > > > > > new file mode 100644 > > > > > index 0000000..39b9e1f > > > > > --- /dev/null > > > > > +++ b/config/defconfig_arm64-neoversen1-linuxapp-gcc > > > > > > > > > > > @@ -0,0 +1,15 @@ > > > > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2019 Arm Ltd. > > > > > +# > > > > > + > > > > > +#include "defconfig_arm64-armv8a-linux-gcc" > > > > > + > > > > > +CONFIG_RTE_MACHINE="neoversen1" > > > > This should probably be "n1sdp" as this is the name of the platform > > > > that matches the below configuration. > > > A clear definition of RTE_MACHINE is required. Jerin? > > > > I think, In the existing scheme of things, RTE_MACHINE defines, where to take > > the MACHINE_CFLAGS mk/machine/xxxx/rte.vars.mk > Ok, thank you > > > > > Considering the fact that there will be a lot of reusable IPs(for CPU) from ARM > > for armv8, I think, it would make sense to introduce RTE_MICRO_ARCH to > > avoid a lot of code duplications and confusion. > > > > RTE_ARCH example: "x86" or "arm64" > > RTE_MICRO_ARCH example: "a72" or "thunderx3" - defines > > mcpu and armv8 verion arch etc > > RTE_MACHINE example: "bluefield" or "thunderx3" > > - defines, number of cores, NUMA or not? etc > Looking at mk/machine/ directory, looks like RTE_MACHINE seems to be defining micro-architecture for Intel. For ex: hsw, nhm, wsm. I see the same for Arm as well. > Are you suggesting that we use RTE_MICRO_ARCH to pick mk/micro-arch/xxxx/rte.vars.mk? and RTE_MACHINE would pick mk/machine/xxxx/rte.vars.mk, but contain NUMA, #of cores etc? Yes for Make build. I think, it is deprecated soon, so we need a similar solution for meson. > > > > > RTE_MACHINE should be probe based on "implementation ID" for arm64 and > > reuse already defined RTE_MICRO_ARCH to avoid code duplication. > > > > > > > > > > > > > > > > +CONFIG_RTE_ARCH_ARM_TUNE="neoverse-n1" > > > > > +CONFIG_RTE_MAX_LCORE=4 > > > > > +CONFIG_RTE_MAX_NUMA_NODES=1 > > > > > +CONFIG_RTE_CACHE_LINE_SIZE=64 > > > > > + > > > > > +# Doesn't support NUMA > > > > > +CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n > > > > > +CONFIG_RTE_LIBRTE_VHOST_NUMA=n > > > > > diff --git a/mk/machine/neoversen1/rte.vars.mk > > > > > b/mk/machine/neoversen1/rte.vars.mk > > > > > new file mode 100644 > > > > > index 0000000..6d69de0 > > > > > --- /dev/null > > > > > +++ b/mk/machine/neoversen1/rte.vars.mk > > > > > @@ -0,0 +1,34 @@ > > > > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2019 Arm > > > > > +Ltd # > > > > > + > > > > > +# > > > > > +# machine: > > > > > +# > > > > > +# - can define ARCH variable (overridden by cmdline value) > > > > > +# - can define CROSS variable (overridden by cmdline value) > > > > > +# - define MACHINE_CFLAGS variable (overridden by cmdline value) > > > > > +# - define MACHINE_LDFLAGS variable (overridden by cmdline value) > > > > > +# - define MACHINE_ASFLAGS variable (overridden by cmdline value) > > > > > +# - can define CPU_CFLAGS variable (overridden by cmdline value) that > > > > > +# overrides the one defined in arch. > > > > > +# - can define CPU_LDFLAGS variable (overridden by cmdline value) that > > > > > +# overrides the one defined in arch. > > > > > +# - can define CPU_ASFLAGS variable (overridden by cmdline value) that > > > > > +# overrides the one defined in arch. > > > > > +# - may override any previously defined variable > > > > > +# > > > > > + > > > > > +# ARCH = > > > > > +# CROSS = > > > > > +# MACHINE_CFLAGS = > > > > > +# MACHINE_LDFLAGS = > > > > > +# MACHINE_ASFLAGS = > > > > > +# CPU_CFLAGS = > > > > > +# CPU_LDFLAGS = > > > > > +# CPU_ASFLAGS = > > > > > + > > > > > +include $(RTE_SDK)/mk/rte.helper.mk > > > > > + > > > > > +MACHINE_CFLAGS += $(call rte_cc_has_argument, > > > > > +-march=armv8.2-a+crc+crypto) MACHINE_CFLAGS += $(call > > > > > +rte_cc_has_argument, -mcpu=neoverse-n1) > > > > > > > > > > > > > > -- > > > > Ola Liljedahl, Networking System Architect, Arm Phone +46706866373, > > > > Skype ola.liljedahl > > >