* [dpdk-dev] [PATCH 0/1] build: add emag(arm64) platform and default config
@ 2019-09-12 8:52 Jerry Hao OS
2019-09-12 8:52 ` [dpdk-dev] [PATCH 1/1] " Jerry Hao OS
0 siblings, 1 reply; 13+ messages in thread
From: Jerry Hao OS @ 2019-09-12 8:52 UTC (permalink / raw)
To: thomas; +Cc: dev, Jerry Hao OS
*** BLURB HERE ***
Jerry Hao OS (1):
build: add emag(arm64) platform and default config
config/arm/arm64_emag_linux_gcc | 15 ++++++++++++
config/arm/meson.build | 11 ++++++++-
config/defconfig_arm64-emag-linux-gcc | 1 +
config/defconfig_arm64-emag-linuxapp-gcc | 11 +++++++++
mk/machine/emag/rte.vars.mk | 31 ++++++++++++++++++++++++
5 files changed, 68 insertions(+), 1 deletion(-)
create mode 100644 config/arm/arm64_emag_linux_gcc
create mode 120000 config/defconfig_arm64-emag-linux-gcc
create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
create mode 100644 mk/machine/emag/rte.vars.mk
--
2.17.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and default config
2019-09-12 8:52 [dpdk-dev] [PATCH 0/1] build: add emag(arm64) platform and default config Jerry Hao OS
@ 2019-09-12 8:52 ` Jerry Hao OS
2019-09-12 9:31 ` Gavin Hu (Arm Technology China)
2019-09-16 3:43 ` [dpdk-dev] [PATCH v2] " Jerry Hao OS
0 siblings, 2 replies; 13+ messages in thread
From: Jerry Hao OS @ 2019-09-12 8:52 UTC (permalink / raw)
To: thomas; +Cc: dev, Jerry Hao OS
This patch is to add the emag default CACHE_LINE_SIZE
settings and ARCH variable definitions;
Added the meson build config.
Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
---
config/arm/arm64_emag_linux_gcc | 15 ++++++++++++
config/arm/meson.build | 11 ++++++++-
config/defconfig_arm64-emag-linux-gcc | 1 +
config/defconfig_arm64-emag-linuxapp-gcc | 11 +++++++++
mk/machine/emag/rte.vars.mk | 31 ++++++++++++++++++++++++
5 files changed, 68 insertions(+), 1 deletion(-)
create mode 100644 config/arm/arm64_emag_linux_gcc
create mode 120000 config/defconfig_arm64-emag-linux-gcc
create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
create mode 100644 mk/machine/emag/rte.vars.mk
diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc
new file mode 100644
index 000000000..bcb147a5a
--- /dev/null
+++ b/config/arm/arm64_emag_linux_gcc
@@ -0,0 +1,15 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x50'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 979018e16..6c1b85186 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -61,6 +61,11 @@ flags_armada = [
['RTE_CACHE_LINE_SIZE', 64],
['RTE_MAX_NUMA_NODES', 1],
['RTE_MAX_LCORE', 16]]
+flags_emag = [
+ ['RTE_MACHINE', '"emag"'],
+ ['RTE_CACHE_LINE_SIZE', 64],
+ ['RTE_MAX_NUMA_NODES', 1],
+ ['RTE_MAX_LCORE', 32]]
flags_default_extra = []
flags_thunderx_extra = [
@@ -98,6 +103,10 @@ machine_args_cavium = [
['0xaf', ['-march=armv8.1-a+crc+crypto','-mcpu=thunderx2t99'], flags_thunderx2_extra],
['0xb2', ['-mcpu=octeontx2'], flags_octeontx2_extra]]
+machine_args_emag = [
+ ['default', ['-march=armv8-a+crc+crypto']],
+ ['native', ['-march=native']]]
+
## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
impl_0x41 = ['Arm', flags_arm, machine_args_generic]
@@ -107,7 +116,7 @@ impl_0x44 = ['DEC', flags_generic, machine_args_generic]
impl_0x49 = ['Infineon', flags_generic, machine_args_generic]
impl_0x4d = ['Motorola', flags_generic, machine_args_generic]
impl_0x4e = ['NVIDIA', flags_generic, machine_args_generic]
-impl_0x50 = ['AppliedMicro', flags_generic, machine_args_generic]
+impl_0x50 = ['Ampere Computing', flags_emag, machine_args_emag]
impl_0x51 = ['Qualcomm', flags_generic, machine_args_generic]
impl_0x53 = ['Samsung', flags_generic, machine_args_generic]
impl_0x56 = ['Marvell ARMADA', flags_armada, machine_args_generic]
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
new file mode 120000
index 000000000..21894a31a
--- /dev/null
+++ b/config/defconfig_arm64-emag-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
new file mode 100644
index 000000000..1db654c89
--- /dev/null
+++ b/config/defconfig_arm64-emag-linuxapp-gcc
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="emag"
+
+CONFIG_RTE_CACHE_LINE_SIZE=64
+CONFIG_RTE_MAX_NUMA_NODES=1
+CONFIG_RTE_MAX_LCORE=32
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
new file mode 100644
index 000000000..9ce8b6bc9
--- /dev/null
+++ b/mk/machine/emag/rte.vars.mk
@@ -0,0 +1,31 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#
+# 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 =
+
+MACHINE_CFLAGS += -march=armv8-a+crc+crypto
--
2.17.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and default config
2019-09-12 8:52 ` [dpdk-dev] [PATCH 1/1] " Jerry Hao OS
@ 2019-09-12 9:31 ` Gavin Hu (Arm Technology China)
2019-09-12 16:25 ` Jerin Jacob
2019-09-16 3:43 ` [dpdk-dev] [PATCH v2] " Jerry Hao OS
1 sibling, 1 reply; 13+ messages in thread
From: Gavin Hu (Arm Technology China) @ 2019-09-12 9:31 UTC (permalink / raw)
To: Jerry Hao OS, thomas; +Cc: dev
Hi Jerry,
Please use --in-reply-to and -v options to chain your different versions of patches and make the old ones "Superseded".
/Gavin
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Jerry Hao OS
> Sent: Thursday, September 12, 2019 4:53 PM
> To: thomas@monjalon.net
> Cc: dev@dpdk.org; Jerry Hao OS <jerryhao@os.amperecomputing.com>
> Subject: [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and default
> config
>
> This patch is to add the emag default CACHE_LINE_SIZE
> settings and ARCH variable definitions;
> Added the meson build config.
>
> Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
> ---
> config/arm/arm64_emag_linux_gcc | 15 ++++++++++++
> config/arm/meson.build | 11 ++++++++-
> config/defconfig_arm64-emag-linux-gcc | 1 +
> config/defconfig_arm64-emag-linuxapp-gcc | 11 +++++++++
> mk/machine/emag/rte.vars.mk | 31 ++++++++++++++++++++++++
> 5 files changed, 68 insertions(+), 1 deletion(-)
> create mode 100644 config/arm/arm64_emag_linux_gcc
> create mode 120000 config/defconfig_arm64-emag-linux-gcc
> create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
> create mode 100644 mk/machine/emag/rte.vars.mk
>
> diff --git a/config/arm/arm64_emag_linux_gcc
> b/config/arm/arm64_emag_linux_gcc
> new file mode 100644
> index 000000000..bcb147a5a
> --- /dev/null
> +++ b/config/arm/arm64_emag_linux_gcc
> @@ -0,0 +1,15 @@
> +[binaries]
> +c = 'aarch64-linux-gnu-gcc'
> +cpp = 'aarch64-linux-gnu-cpp'
> +ar = 'aarch64-linux-gnu-gcc-ar'
> +strip = 'aarch64-linux-gnu-strip'
> +pcap-config = ''
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'aarch64'
> +cpu = 'armv8-a'
> +endian = 'little'
> +
> +[properties]
> +implementor_id = '0x50'
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index 979018e16..6c1b85186 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -61,6 +61,11 @@ flags_armada = [
> ['RTE_CACHE_LINE_SIZE', 64],
> ['RTE_MAX_NUMA_NODES', 1],
> ['RTE_MAX_LCORE', 16]]
> +flags_emag = [
> + ['RTE_MACHINE', '"emag"'],
> + ['RTE_CACHE_LINE_SIZE', 64],
> + ['RTE_MAX_NUMA_NODES', 1],
> + ['RTE_MAX_LCORE', 32]]
>
> flags_default_extra = []
> flags_thunderx_extra = [
> @@ -98,6 +103,10 @@ machine_args_cavium = [
> ['0xaf', ['-march=armv8.1-a+crc+crypto','-mcpu=thunderx2t99'],
> flags_thunderx2_extra],
> ['0xb2', ['-mcpu=octeontx2'], flags_octeontx2_extra]]
>
> +machine_args_emag = [
> + ['default', ['-march=armv8-a+crc+crypto']],
> + ['native', ['-march=native']]]
> +
> ## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
> impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
> impl_0x41 = ['Arm', flags_arm, machine_args_generic]
> @@ -107,7 +116,7 @@ impl_0x44 = ['DEC', flags_generic,
> machine_args_generic]
> impl_0x49 = ['Infineon', flags_generic, machine_args_generic]
> impl_0x4d = ['Motorola', flags_generic, machine_args_generic]
> impl_0x4e = ['NVIDIA', flags_generic, machine_args_generic]
> -impl_0x50 = ['AppliedMicro', flags_generic, machine_args_generic]
> +impl_0x50 = ['Ampere Computing', flags_emag, machine_args_emag]
> impl_0x51 = ['Qualcomm', flags_generic, machine_args_generic]
> impl_0x53 = ['Samsung', flags_generic, machine_args_generic]
> impl_0x56 = ['Marvell ARMADA', flags_armada, machine_args_generic]
> diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-
> emag-linux-gcc
> new file mode 120000
> index 000000000..21894a31a
> --- /dev/null
> +++ b/config/defconfig_arm64-emag-linux-gcc
> @@ -0,0 +1 @@
> +defconfig_arm64-emag-linuxapp-gcc
> \ No newline at end of file
> diff --git a/config/defconfig_arm64-emag-linuxapp-gcc
> b/config/defconfig_arm64-emag-linuxapp-gcc
> new file mode 100644
> index 000000000..1db654c89
> --- /dev/null
> +++ b/config/defconfig_arm64-emag-linuxapp-gcc
> @@ -0,0 +1,11 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2019 Ampere Computing
> +#
> +
> +#include "defconfig_arm64-armv8a-linux-gcc"
> +
> +CONFIG_RTE_MACHINE="emag"
> +
> +CONFIG_RTE_CACHE_LINE_SIZE=64
> +CONFIG_RTE_MAX_NUMA_NODES=1
> +CONFIG_RTE_MAX_LCORE=32
> diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
> new file mode 100644
> index 000000000..9ce8b6bc9
> --- /dev/null
> +++ b/mk/machine/emag/rte.vars.mk
> @@ -0,0 +1,31 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2019 Ampere Computing
> +#
> +
> +#
> +# 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 =
> +
> +MACHINE_CFLAGS += -march=armv8-a+crc+crypto
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
> --
> 2.17.1
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and default config
2019-09-12 9:31 ` Gavin Hu (Arm Technology China)
@ 2019-09-12 16:25 ` Jerin Jacob
0 siblings, 0 replies; 13+ messages in thread
From: Jerin Jacob @ 2019-09-12 16:25 UTC (permalink / raw)
To: Gavin Hu (Arm Technology China); +Cc: Jerry Hao OS, thomas, dev
On Thu, Sep 12, 2019 at 3:02 PM Gavin Hu (Arm Technology China)
<Gavin.Hu@arm.com> wrote:
>
> Hi Jerry,
>
> Please use --in-reply-to and -v options to chain your different versions of patches and make the old ones "Superseded".
>
> /Gavin
>
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Jerry Hao OS
> > Sent: Thursday, September 12, 2019 4:53 PM
> > To: thomas@monjalon.net
> > Cc: dev@dpdk.org; Jerry Hao OS <jerryhao@os.amperecomputing.com>
> > Subject: [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and default
> > config
> >
> > This patch is to add the emag default CACHE_LINE_SIZE
> > settings and ARCH variable definitions;
> > Added the meson build config.
Please change the git comment to a more reasonable description.
See the example below for a similar config for N1 platform.
config: add arm neoverse N1 SDP configuration
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: Jerry Hao OS <jerryhao@os.amperecomputing.com>
With the above change:
Acked-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> > config/arm/arm64_emag_linux_gcc | 15 ++++++++++++
> > config/arm/meson.build | 11 ++++++++-
> > config/defconfig_arm64-emag-linux-gcc | 1 +
> > config/defconfig_arm64-emag-linuxapp-gcc | 11 +++++++++
> > mk/machine/emag/rte.vars.mk | 31 ++++++++++++++++++++++++
> > 5 files changed, 68 insertions(+), 1 deletion(-)
> > create mode 100644 config/arm/arm64_emag_linux_gcc
> > create mode 120000 config/defconfig_arm64-emag-linux-gcc
> > create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
> > create mode 100644 mk/machine/emag/rte.vars.mk
> >
> > diff --git a/config/arm/arm64_emag_linux_gcc
> > b/config/arm/arm64_emag_linux_gcc
> > new file mode 100644
> > index 000000000..bcb147a5a
> > --- /dev/null
> > +++ b/config/arm/arm64_emag_linux_gcc
> > @@ -0,0 +1,15 @@
> > +[binaries]
> > +c = 'aarch64-linux-gnu-gcc'
> > +cpp = 'aarch64-linux-gnu-cpp'
> > +ar = 'aarch64-linux-gnu-gcc-ar'
> > +strip = 'aarch64-linux-gnu-strip'
> > +pcap-config = ''
> > +
> > +[host_machine]
> > +system = 'linux'
> > +cpu_family = 'aarch64'
> > +cpu = 'armv8-a'
> > +endian = 'little'
> > +
> > +[properties]
> > +implementor_id = '0x50'
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index 979018e16..6c1b85186 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -61,6 +61,11 @@ flags_armada = [
> > ['RTE_CACHE_LINE_SIZE', 64],
> > ['RTE_MAX_NUMA_NODES', 1],
> > ['RTE_MAX_LCORE', 16]]
> > +flags_emag = [
> > + ['RTE_MACHINE', '"emag"'],
> > + ['RTE_CACHE_LINE_SIZE', 64],
> > + ['RTE_MAX_NUMA_NODES', 1],
> > + ['RTE_MAX_LCORE', 32]]
> >
> > flags_default_extra = []
> > flags_thunderx_extra = [
> > @@ -98,6 +103,10 @@ machine_args_cavium = [
> > ['0xaf', ['-march=armv8.1-a+crc+crypto','-mcpu=thunderx2t99'],
> > flags_thunderx2_extra],
> > ['0xb2', ['-mcpu=octeontx2'], flags_octeontx2_extra]]
> >
> > +machine_args_emag = [
> > + ['default', ['-march=armv8-a+crc+crypto']],
> > + ['native', ['-march=native']]]
> > +
> > ## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
> > impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
> > impl_0x41 = ['Arm', flags_arm, machine_args_generic]
> > @@ -107,7 +116,7 @@ impl_0x44 = ['DEC', flags_generic,
> > machine_args_generic]
> > impl_0x49 = ['Infineon', flags_generic, machine_args_generic]
> > impl_0x4d = ['Motorola', flags_generic, machine_args_generic]
> > impl_0x4e = ['NVIDIA', flags_generic, machine_args_generic]
> > -impl_0x50 = ['AppliedMicro', flags_generic, machine_args_generic]
> > +impl_0x50 = ['Ampere Computing', flags_emag, machine_args_emag]
> > impl_0x51 = ['Qualcomm', flags_generic, machine_args_generic]
> > impl_0x53 = ['Samsung', flags_generic, machine_args_generic]
> > impl_0x56 = ['Marvell ARMADA', flags_armada, machine_args_generic]
> > diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-
> > emag-linux-gcc
> > new file mode 120000
> > index 000000000..21894a31a
> > --- /dev/null
> > +++ b/config/defconfig_arm64-emag-linux-gcc
> > @@ -0,0 +1 @@
> > +defconfig_arm64-emag-linuxapp-gcc
> > \ No newline at end of file
> > diff --git a/config/defconfig_arm64-emag-linuxapp-gcc
> > b/config/defconfig_arm64-emag-linuxapp-gcc
> > new file mode 100644
> > index 000000000..1db654c89
> > --- /dev/null
> > +++ b/config/defconfig_arm64-emag-linuxapp-gcc
> > @@ -0,0 +1,11 @@
> > +# SPDX-License-Identifier: BSD-3-Clause
> > +# Copyright(c) 2019 Ampere Computing
> > +#
> > +
> > +#include "defconfig_arm64-armv8a-linux-gcc"
> > +
> > +CONFIG_RTE_MACHINE="emag"
> > +
> > +CONFIG_RTE_CACHE_LINE_SIZE=64
> > +CONFIG_RTE_MAX_NUMA_NODES=1
> > +CONFIG_RTE_MAX_LCORE=32
> > diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
> > new file mode 100644
> > index 000000000..9ce8b6bc9
> > --- /dev/null
> > +++ b/mk/machine/emag/rte.vars.mk
> > @@ -0,0 +1,31 @@
> > +# SPDX-License-Identifier: BSD-3-Clause
> > +# Copyright(c) 2019 Ampere Computing
> > +#
> > +
> > +#
> > +# 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 =
> > +
> > +MACHINE_CFLAGS += -march=armv8-a+crc+crypto
>
> Reviewed-by: Gavin Hu <gavin.hu@arm.com>
>
> > --
> > 2.17.1
>
> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH v2] build: add emag(arm64) platform and default config
2019-09-12 8:52 ` [dpdk-dev] [PATCH 1/1] " Jerry Hao OS
2019-09-12 9:31 ` Gavin Hu (Arm Technology China)
@ 2019-09-16 3:43 ` Jerry Hao OS
2019-10-09 2:44 ` [dpdk-dev] [PATCH v3] " Gavin Hu
1 sibling, 1 reply; 13+ messages in thread
From: Jerry Hao OS @ 2019-09-16 3:43 UTC (permalink / raw)
To: thomas; +Cc: dev, Jerry Hao OS
config: add emag configuration
mk/machine: add emag machine configurations
eMAG is Ampere Computing 64-bit ARM processor
with 32 Arm v8 64-bit CPU cores.
For more information, refer to:
https://amperecomputing.com/product/
Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
---
config/arm/arm64_emag_linux_gcc | 15 ++++++++++++
config/arm/meson.build | 11 ++++++++-
config/defconfig_arm64-emag-linux-gcc | 1 +
config/defconfig_arm64-emag-linuxapp-gcc | 11 +++++++++
mk/machine/emag/rte.vars.mk | 31 ++++++++++++++++++++++++
5 files changed, 68 insertions(+), 1 deletion(-)
create mode 100644 config/arm/arm64_emag_linux_gcc
create mode 120000 config/defconfig_arm64-emag-linux-gcc
create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
create mode 100644 mk/machine/emag/rte.vars.mk
diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc
new file mode 100644
index 000000000..bcb147a5a
--- /dev/null
+++ b/config/arm/arm64_emag_linux_gcc
@@ -0,0 +1,15 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x50'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 979018e16..6c1b85186 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -61,6 +61,11 @@ flags_armada = [
['RTE_CACHE_LINE_SIZE', 64],
['RTE_MAX_NUMA_NODES', 1],
['RTE_MAX_LCORE', 16]]
+flags_emag = [
+ ['RTE_MACHINE', '"emag"'],
+ ['RTE_CACHE_LINE_SIZE', 64],
+ ['RTE_MAX_NUMA_NODES', 1],
+ ['RTE_MAX_LCORE', 32]]
flags_default_extra = []
flags_thunderx_extra = [
@@ -98,6 +103,10 @@ machine_args_cavium = [
['0xaf', ['-march=armv8.1-a+crc+crypto','-mcpu=thunderx2t99'], flags_thunderx2_extra],
['0xb2', ['-mcpu=octeontx2'], flags_octeontx2_extra]]
+machine_args_emag = [
+ ['default', ['-march=armv8-a+crc+crypto']],
+ ['native', ['-march=native']]]
+
## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
impl_0x41 = ['Arm', flags_arm, machine_args_generic]
@@ -107,7 +116,7 @@ impl_0x44 = ['DEC', flags_generic, machine_args_generic]
impl_0x49 = ['Infineon', flags_generic, machine_args_generic]
impl_0x4d = ['Motorola', flags_generic, machine_args_generic]
impl_0x4e = ['NVIDIA', flags_generic, machine_args_generic]
-impl_0x50 = ['AppliedMicro', flags_generic, machine_args_generic]
+impl_0x50 = ['Ampere Computing', flags_emag, machine_args_emag]
impl_0x51 = ['Qualcomm', flags_generic, machine_args_generic]
impl_0x53 = ['Samsung', flags_generic, machine_args_generic]
impl_0x56 = ['Marvell ARMADA', flags_armada, machine_args_generic]
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
new file mode 120000
index 000000000..21894a31a
--- /dev/null
+++ b/config/defconfig_arm64-emag-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
new file mode 100644
index 000000000..1db654c89
--- /dev/null
+++ b/config/defconfig_arm64-emag-linuxapp-gcc
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="emag"
+
+CONFIG_RTE_CACHE_LINE_SIZE=64
+CONFIG_RTE_MAX_NUMA_NODES=1
+CONFIG_RTE_MAX_LCORE=32
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
new file mode 100644
index 000000000..9ce8b6bc9
--- /dev/null
+++ b/mk/machine/emag/rte.vars.mk
@@ -0,0 +1,31 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#
+# 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 =
+
+MACHINE_CFLAGS += -march=armv8-a+crc+crypto
--
2.17.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH v3] build: add emag(arm64) platform and default config
2019-09-16 3:43 ` [dpdk-dev] [PATCH v2] " Jerry Hao OS
@ 2019-10-09 2:44 ` Gavin Hu
2019-10-11 11:45 ` Jerin Jacob
2019-10-14 9:34 ` [dpdk-dev] [PATCH v4] build: add emag target Gavin Hu
0 siblings, 2 replies; 13+ messages in thread
From: Gavin Hu @ 2019-10-09 2:44 UTC (permalink / raw)
To: dev; +Cc: nd, Jerry Hao OS, thomas, Honnappa.Nagarahalli
From: Jerry Hao OS <jerryhao@os.amperecomputing.com>
config: add emag configuration
mk/machine: add emag machine configurations
eMAG is Ampere Computing 64-bit ARM processor
with 32 Arm v8 64-bit CPU cores.
For more information, refer to:
https://amperecomputing.com/product/
Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
Signed-off-by: Gavin Hu <gavin.hu@arm.com>
---
V3:
- add "mtune=emag" to generate optimized code for emag
V2:
- add meson build support
config/arm/arm64_emag_linux_gcc | 15 +++++++++++++++
config/arm/meson.build | 11 ++++++++++-
config/defconfig_arm64-emag-linux-gcc | 1 +
config/defconfig_arm64-emag-linuxapp-gcc | 11 +++++++++++
mk/machine/emag/rte.vars.mk | 32 ++++++++++++++++++++++++++++++++
5 files changed, 69 insertions(+), 1 deletion(-)
create mode 100644 config/arm/arm64_emag_linux_gcc
create mode 120000 config/defconfig_arm64-emag-linux-gcc
create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
create mode 100644 mk/machine/emag/rte.vars.mk
diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc
new file mode 100644
index 0000000..bcb147a
--- /dev/null
+++ b/config/arm/arm64_emag_linux_gcc
@@ -0,0 +1,15 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x50'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 979018e..aa73e1d 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -61,6 +61,11 @@ flags_armada = [
['RTE_CACHE_LINE_SIZE', 64],
['RTE_MAX_NUMA_NODES', 1],
['RTE_MAX_LCORE', 16]]
+flags_emag = [
+ ['RTE_MACHINE', '"emag"'],
+ ['RTE_CACHE_LINE_SIZE', 64],
+ ['RTE_MAX_NUMA_NODES', 1],
+ ['RTE_MAX_LCORE', 32]]
flags_default_extra = []
flags_thunderx_extra = [
@@ -98,6 +103,10 @@ machine_args_cavium = [
['0xaf', ['-march=armv8.1-a+crc+crypto','-mcpu=thunderx2t99'], flags_thunderx2_extra],
['0xb2', ['-mcpu=octeontx2'], flags_octeontx2_extra]]
+machine_args_emag = [
+ ['default', ['-march=armv8-a+crc+crypto', '-mtune=emag']],
+ ['native', ['-march=native']]]
+
## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
impl_0x41 = ['Arm', flags_arm, machine_args_generic]
@@ -107,7 +116,7 @@ impl_0x44 = ['DEC', flags_generic, machine_args_generic]
impl_0x49 = ['Infineon', flags_generic, machine_args_generic]
impl_0x4d = ['Motorola', flags_generic, machine_args_generic]
impl_0x4e = ['NVIDIA', flags_generic, machine_args_generic]
-impl_0x50 = ['AppliedMicro', flags_generic, machine_args_generic]
+impl_0x50 = ['Ampere Computing', flags_emag, machine_args_emag]
impl_0x51 = ['Qualcomm', flags_generic, machine_args_generic]
impl_0x53 = ['Samsung', flags_generic, machine_args_generic]
impl_0x56 = ['Marvell ARMADA', flags_armada, machine_args_generic]
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
new file mode 120000
index 0000000..21894a3
--- /dev/null
+++ b/config/defconfig_arm64-emag-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
new file mode 100644
index 0000000..1db654c
--- /dev/null
+++ b/config/defconfig_arm64-emag-linuxapp-gcc
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="emag"
+
+CONFIG_RTE_CACHE_LINE_SIZE=64
+CONFIG_RTE_MAX_NUMA_NODES=1
+CONFIG_RTE_MAX_LCORE=32
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
new file mode 100644
index 0000000..50342df
--- /dev/null
+++ b/mk/machine/emag/rte.vars.mk
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#
+# 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 =
+
+MACHINE_CFLAGS += -march=armv8-a+crc+crypto
+MACHINE_CFLAGS += $(call rte_cc_has_argument, -mtune=emag)
--
2.7.4
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH v3] build: add emag(arm64) platform and default config
2019-10-09 2:44 ` [dpdk-dev] [PATCH v3] " Gavin Hu
@ 2019-10-11 11:45 ` Jerin Jacob
2019-10-14 9:34 ` [dpdk-dev] [PATCH v4] build: add emag target Gavin Hu
1 sibling, 0 replies; 13+ messages in thread
From: Jerin Jacob @ 2019-10-11 11:45 UTC (permalink / raw)
To: Gavin Hu
Cc: dpdk-dev, nd, Jerry Hao OS, Thomas Monjalon, Honnappa Nagarahalli
On Wed, Oct 9, 2019 at 8:15 AM Gavin Hu <gavin.hu@arm.com> wrote:
>
> From: Jerry Hao OS <jerryhao@os.amperecomputing.com>
>
I think the subject can be changed to
"build: add emag target "
> config: add emag configuration
> mk/machine: add emag machine configurations
The above lines are not a sentence. Please make it as a sentence in
the git commit.
>
> eMAG is Ampere Computing 64-bit ARM processor
> with 32 Arm v8 64-bit CPU cores.
> For more information, refer to:
> https://amperecomputing.com/product/
>
> Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
With the above changes:
Acked-by: Jerin Jacob <jerinj@marvell.com>
> ---
> V3:
> - add "mtune=emag" to generate optimized code for emag
> V2:
> - add meson build support
>
> config/arm/arm64_emag_linux_gcc | 15 +++++++++++++++
> config/arm/meson.build | 11 ++++++++++-
> config/defconfig_arm64-emag-linux-gcc | 1 +
> config/defconfig_arm64-emag-linuxapp-gcc | 11 +++++++++++
> mk/machine/emag/rte.vars.mk | 32 ++++++++++++++++++++++++++++++++
> 5 files changed, 69 insertions(+), 1 deletion(-)
> create mode 100644 config/arm/arm64_emag_linux_gcc
> create mode 120000 config/defconfig_arm64-emag-linux-gcc
> create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
> create mode 100644 mk/machine/emag/rte.vars.mk
>
> diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc
> new file mode 100644
> index 0000000..bcb147a
> --- /dev/null
> +++ b/config/arm/arm64_emag_linux_gcc
> @@ -0,0 +1,15 @@
> +[binaries]
> +c = 'aarch64-linux-gnu-gcc'
> +cpp = 'aarch64-linux-gnu-cpp'
> +ar = 'aarch64-linux-gnu-gcc-ar'
> +strip = 'aarch64-linux-gnu-strip'
> +pcap-config = ''
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'aarch64'
> +cpu = 'armv8-a'
> +endian = 'little'
> +
> +[properties]
> +implementor_id = '0x50'
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index 979018e..aa73e1d 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -61,6 +61,11 @@ flags_armada = [
> ['RTE_CACHE_LINE_SIZE', 64],
> ['RTE_MAX_NUMA_NODES', 1],
> ['RTE_MAX_LCORE', 16]]
> +flags_emag = [
> + ['RTE_MACHINE', '"emag"'],
> + ['RTE_CACHE_LINE_SIZE', 64],
> + ['RTE_MAX_NUMA_NODES', 1],
> + ['RTE_MAX_LCORE', 32]]
>
> flags_default_extra = []
> flags_thunderx_extra = [
> @@ -98,6 +103,10 @@ machine_args_cavium = [
> ['0xaf', ['-march=armv8.1-a+crc+crypto','-mcpu=thunderx2t99'], flags_thunderx2_extra],
> ['0xb2', ['-mcpu=octeontx2'], flags_octeontx2_extra]]
>
> +machine_args_emag = [
> + ['default', ['-march=armv8-a+crc+crypto', '-mtune=emag']],
> + ['native', ['-march=native']]]
> +
> ## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
> impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
> impl_0x41 = ['Arm', flags_arm, machine_args_generic]
> @@ -107,7 +116,7 @@ impl_0x44 = ['DEC', flags_generic, machine_args_generic]
> impl_0x49 = ['Infineon', flags_generic, machine_args_generic]
> impl_0x4d = ['Motorola', flags_generic, machine_args_generic]
> impl_0x4e = ['NVIDIA', flags_generic, machine_args_generic]
> -impl_0x50 = ['AppliedMicro', flags_generic, machine_args_generic]
> +impl_0x50 = ['Ampere Computing', flags_emag, machine_args_emag]
> impl_0x51 = ['Qualcomm', flags_generic, machine_args_generic]
> impl_0x53 = ['Samsung', flags_generic, machine_args_generic]
> impl_0x56 = ['Marvell ARMADA', flags_armada, machine_args_generic]
> diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
> new file mode 120000
> index 0000000..21894a3
> --- /dev/null
> +++ b/config/defconfig_arm64-emag-linux-gcc
> @@ -0,0 +1 @@
> +defconfig_arm64-emag-linuxapp-gcc
> \ No newline at end of file
> diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
> new file mode 100644
> index 0000000..1db654c
> --- /dev/null
> +++ b/config/defconfig_arm64-emag-linuxapp-gcc
> @@ -0,0 +1,11 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2019 Ampere Computing
> +#
> +
> +#include "defconfig_arm64-armv8a-linux-gcc"
> +
> +CONFIG_RTE_MACHINE="emag"
> +
> +CONFIG_RTE_CACHE_LINE_SIZE=64
> +CONFIG_RTE_MAX_NUMA_NODES=1
> +CONFIG_RTE_MAX_LCORE=32
> diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
> new file mode 100644
> index 0000000..50342df
> --- /dev/null
> +++ b/mk/machine/emag/rte.vars.mk
> @@ -0,0 +1,32 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2019 Ampere Computing
> +#
> +
> +#
> +# 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 =
> +
> +MACHINE_CFLAGS += -march=armv8-a+crc+crypto
> +MACHINE_CFLAGS += $(call rte_cc_has_argument, -mtune=emag)
> --
> 2.7.4
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH v4] build: add emag target
2019-10-09 2:44 ` [dpdk-dev] [PATCH v3] " Gavin Hu
2019-10-11 11:45 ` Jerin Jacob
@ 2019-10-14 9:34 ` Gavin Hu
2019-11-20 23:22 ` Thomas Monjalon
1 sibling, 1 reply; 13+ messages in thread
From: Gavin Hu @ 2019-10-14 9:34 UTC (permalink / raw)
To: dev
Cc: nd, Jerry Hao OS, thomas, Honnappa.Nagarahalli, ruifeng.wang, phil.yang
From: Jerry Hao OS <jerryhao@os.amperecomputing.com>
Add the make and meson based build infrastructure for the eMAG platform
from Ampere Computing corp., which is a 64-bit ARM processor with 32
Armv8 64-bit CPU cores. For more information, refer to:
https://amperecomputing.com/product/
Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
---
V4:
- reword the commit log to be more clear
V3:
- add "mtune=emag" to generate optimized code for emag
V2:
- add meson build support
config/arm/arm64_emag_linux_gcc | 15 +++++++++++++++
config/arm/meson.build | 11 ++++++++++-
config/defconfig_arm64-emag-linux-gcc | 1 +
config/defconfig_arm64-emag-linuxapp-gcc | 12 ++++++++++++
mk/machine/emag/rte.vars.mk | 32 ++++++++++++++++++++++++++++++++
5 files changed, 70 insertions(+), 1 deletion(-)
create mode 100644 config/arm/arm64_emag_linux_gcc
create mode 120000 config/defconfig_arm64-emag-linux-gcc
create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
create mode 100644 mk/machine/emag/rte.vars.mk
diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc
new file mode 100644
index 0000000..bcb147a
--- /dev/null
+++ b/config/arm/arm64_emag_linux_gcc
@@ -0,0 +1,15 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x50'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 979018e..aa73e1d 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -61,6 +61,11 @@ flags_armada = [
['RTE_CACHE_LINE_SIZE', 64],
['RTE_MAX_NUMA_NODES', 1],
['RTE_MAX_LCORE', 16]]
+flags_emag = [
+ ['RTE_MACHINE', '"emag"'],
+ ['RTE_CACHE_LINE_SIZE', 64],
+ ['RTE_MAX_NUMA_NODES', 1],
+ ['RTE_MAX_LCORE', 32]]
flags_default_extra = []
flags_thunderx_extra = [
@@ -98,6 +103,10 @@ machine_args_cavium = [
['0xaf', ['-march=armv8.1-a+crc+crypto','-mcpu=thunderx2t99'], flags_thunderx2_extra],
['0xb2', ['-mcpu=octeontx2'], flags_octeontx2_extra]]
+machine_args_emag = [
+ ['default', ['-march=armv8-a+crc+crypto', '-mtune=emag']],
+ ['native', ['-march=native']]]
+
## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
impl_0x41 = ['Arm', flags_arm, machine_args_generic]
@@ -107,7 +116,7 @@ impl_0x44 = ['DEC', flags_generic, machine_args_generic]
impl_0x49 = ['Infineon', flags_generic, machine_args_generic]
impl_0x4d = ['Motorola', flags_generic, machine_args_generic]
impl_0x4e = ['NVIDIA', flags_generic, machine_args_generic]
-impl_0x50 = ['AppliedMicro', flags_generic, machine_args_generic]
+impl_0x50 = ['Ampere Computing', flags_emag, machine_args_emag]
impl_0x51 = ['Qualcomm', flags_generic, machine_args_generic]
impl_0x53 = ['Samsung', flags_generic, machine_args_generic]
impl_0x56 = ['Marvell ARMADA', flags_armada, machine_args_generic]
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
new file mode 120000
index 0000000..21894a3
--- /dev/null
+++ b/config/defconfig_arm64-emag-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
new file mode 100644
index 0000000..496c39d
--- /dev/null
+++ b/config/defconfig_arm64-emag-linuxapp-gcc
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="emag"
+
+CONFIG_RTE_CACHE_LINE_SIZE=64
+CONFIG_RTE_MAX_NUMA_NODES=1
+CONFIG_RTE_MAX_LCORE=32
+
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
new file mode 100644
index 0000000..50342df
--- /dev/null
+++ b/mk/machine/emag/rte.vars.mk
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#
+# 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 =
+
+MACHINE_CFLAGS += -march=armv8-a+crc+crypto
+MACHINE_CFLAGS += $(call rte_cc_has_argument, -mtune=emag)
--
2.7.4
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH v4] build: add emag target
2019-10-14 9:34 ` [dpdk-dev] [PATCH v4] build: add emag target Gavin Hu
@ 2019-11-20 23:22 ` Thomas Monjalon
0 siblings, 0 replies; 13+ messages in thread
From: Thomas Monjalon @ 2019-11-20 23:22 UTC (permalink / raw)
To: Gavin Hu, Jerry Hao OS
Cc: dev, nd, Honnappa.Nagarahalli, ruifeng.wang, phil.yang
14/10/2019 11:34, Gavin Hu:
> From: Jerry Hao OS <jerryhao@os.amperecomputing.com>
>
> Add the make and meson based build infrastructure for the eMAG platform
> from Ampere Computing corp., which is a 64-bit ARM processor with 32
> Armv8 64-bit CPU cores. For more information, refer to:
> https://amperecomputing.com/product/
>
> Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
> Acked-by: Jerin Jacob <jerinj@marvell.com>
Applied, thanks
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and default config
2019-09-12 4:51 ` [dpdk-dev] [PATCH 1/1] " Jerry Hao OS
@ 2019-09-12 5:45 ` Jerin Jacob Kollanukkaran
0 siblings, 0 replies; 13+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-09-12 5:45 UTC (permalink / raw)
To: Jerry Hao OS, thomas; +Cc: dev
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Jerry Hao OS
> Sent: Thursday, September 12, 2019 10:22 AM
> To: thomas@monjalon.net
> Cc: dev@dpdk.org; Jerry Hao OS <jerryhao@os.amperecomputing.com>
> Subject: [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and
> default config
>
> This patch is to add the emag default CACHE_LINE_SIZE
> settings and ARCH variable definitions
>
> Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
> ---
> config/defconfig_arm64-emag-linux-gcc | 1 +
> config/defconfig_arm64-emag-linuxapp-gcc | 8 ++++++
> mk/machine/emag/rte.vars.mk | 31 ++++++++++++++++++++++++
> 3 files changed, 40 insertions(+)
> create mode 120000 config/defconfig_arm64-emag-linux-gcc
> create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
> create mode 100644 mk/machine/emag/rte.vars.mk
Add meson build support as well. See config/arm/*
> +
> +# ARCH =
> +# CROSS =
> +# MACHINE_CFLAGS =
> +# MACHINE_LDFLAGS =
> +# MACHINE_ASFLAGS =
> +# CPU_CFLAGS =
> +# CPU_LDFLAGS =
> +# CPU_ASFLAGS =
> +
> +MACHINE_CFLAGS += -march=armv8-a+crc+crypto
Is emag platform is only armv8? If it is supports lse then add that as well.
See mk/machine/octeontx2/rte.vars.mk as example
If it has dedicated mcpu support then add the following
MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=your_cpu)
> --
> 2.17.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and default config
2019-09-12 4:51 [dpdk-dev] [PATCH 0/1] build: add emag(arm64) platform and default config Jerry Hao OS
@ 2019-09-12 4:51 ` Jerry Hao OS
2019-09-12 5:45 ` Jerin Jacob Kollanukkaran
0 siblings, 1 reply; 13+ messages in thread
From: Jerry Hao OS @ 2019-09-12 4:51 UTC (permalink / raw)
To: thomas; +Cc: dev, Jerry Hao OS
This patch is to add the emag default CACHE_LINE_SIZE
settings and ARCH variable definitions
Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
---
config/defconfig_arm64-emag-linux-gcc | 1 +
config/defconfig_arm64-emag-linuxapp-gcc | 8 ++++++
mk/machine/emag/rte.vars.mk | 31 ++++++++++++++++++++++++
3 files changed, 40 insertions(+)
create mode 120000 config/defconfig_arm64-emag-linux-gcc
create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
create mode 100644 mk/machine/emag/rte.vars.mk
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
new file mode 120000
index 000000000..21894a31a
--- /dev/null
+++ b/config/defconfig_arm64-emag-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
new file mode 100644
index 000000000..f7c05044c
--- /dev/null
+++ b/config/defconfig_arm64-emag-linuxapp-gcc
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="emag"
+CONFIG_RTE_CACHE_LINE_SIZE=64
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
new file mode 100644
index 000000000..9ce8b6bc9
--- /dev/null
+++ b/mk/machine/emag/rte.vars.mk
@@ -0,0 +1,31 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#
+# 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 =
+
+MACHINE_CFLAGS += -march=armv8-a+crc+crypto
--
2.17.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and default config
2019-09-12 2:44 [dpdk-dev] [PATCH 0/1] " Jerry Hao OS
@ 2019-09-12 2:44 ` Jerry Hao OS
0 siblings, 0 replies; 13+ messages in thread
From: Jerry Hao OS @ 2019-09-12 2:44 UTC (permalink / raw)
To: thomas; +Cc: dev, Jerry Hao OS
From: Jerry Hao <jerryhao@os.amperecomputing.com>
This patch is to add the emag default CACHE_LINE_SIZE
settings and ARCH variable definitions.
Signed-off-by: Jerry Hao OS <jerryhao@os.amperecomputing.com>
---
config/defconfig_arm64-emag-linux-gcc | 1 +
config/defconfig_arm64-emag-linuxapp-gcc | 8 ++++++
mk/machine/emag/rte.vars.mk | 31 ++++++++++++++++++++++++
3 files changed, 40 insertions(+)
create mode 120000 config/defconfig_arm64-emag-linux-gcc
create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
create mode 100644 mk/machine/emag/rte.vars.mk
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
new file mode 120000
index 000000000..21894a31a
--- /dev/null
+++ b/config/defconfig_arm64-emag-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
new file mode 100644
index 000000000..f7c05044c
--- /dev/null
+++ b/config/defconfig_arm64-emag-linuxapp-gcc
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="emag"
+CONFIG_RTE_CACHE_LINE_SIZE=64
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
new file mode 100644
index 000000000..9ce8b6bc9
--- /dev/null
+++ b/mk/machine/emag/rte.vars.mk
@@ -0,0 +1,31 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#
+# 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 =
+
+MACHINE_CFLAGS += -march=armv8-a+crc+crypto
--
2.17.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH 1/1] build: add emag(arm64) platform and default config
2019-09-12 2:30 [dpdk-dev] [PATCH 0/1] " Jerry Hao OS
@ 2019-09-12 2:30 ` Jerry Hao OS
0 siblings, 0 replies; 13+ messages in thread
From: Jerry Hao OS @ 2019-09-12 2:30 UTC (permalink / raw)
To: thomas; +Cc: dev, Jerry Hao OS
This patch is to add the emag default CACHE_LINE_SIZE
settings and ARCH variable definitions.
Signed-off-by: Jerry Hao <jerryhao@os.amperecomputing.com>
---
config/defconfig_arm64-emag-linux-gcc | 1 +
config/defconfig_arm64-emag-linuxapp-gcc | 8 ++++++
mk/machine/emag/rte.vars.mk | 31 ++++++++++++++++++++++++
3 files changed, 40 insertions(+)
create mode 120000 config/defconfig_arm64-emag-linux-gcc
create mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
create mode 100644 mk/machine/emag/rte.vars.mk
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
new file mode 120000
index 000000000..21894a31a
--- /dev/null
+++ b/config/defconfig_arm64-emag-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
new file mode 100644
index 000000000..f7c05044c
--- /dev/null
+++ b/config/defconfig_arm64-emag-linuxapp-gcc
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="emag"
+CONFIG_RTE_CACHE_LINE_SIZE=64
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
new file mode 100644
index 000000000..9ce8b6bc9
--- /dev/null
+++ b/mk/machine/emag/rte.vars.mk
@@ -0,0 +1,31 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Ampere Computing
+#
+
+#
+# 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 =
+
+MACHINE_CFLAGS += -march=armv8-a+crc+crypto
--
2.17.1
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-11-20 23:22 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-12 8:52 [dpdk-dev] [PATCH 0/1] build: add emag(arm64) platform and default config Jerry Hao OS
2019-09-12 8:52 ` [dpdk-dev] [PATCH 1/1] " Jerry Hao OS
2019-09-12 9:31 ` Gavin Hu (Arm Technology China)
2019-09-12 16:25 ` Jerin Jacob
2019-09-16 3:43 ` [dpdk-dev] [PATCH v2] " Jerry Hao OS
2019-10-09 2:44 ` [dpdk-dev] [PATCH v3] " Gavin Hu
2019-10-11 11:45 ` Jerin Jacob
2019-10-14 9:34 ` [dpdk-dev] [PATCH v4] build: add emag target Gavin Hu
2019-11-20 23:22 ` Thomas Monjalon
-- strict thread matches above, loose matches on Subject: below --
2019-09-12 4:51 [dpdk-dev] [PATCH 0/1] build: add emag(arm64) platform and default config Jerry Hao OS
2019-09-12 4:51 ` [dpdk-dev] [PATCH 1/1] " Jerry Hao OS
2019-09-12 5:45 ` Jerin Jacob Kollanukkaran
2019-09-12 2:44 [dpdk-dev] [PATCH 0/1] " Jerry Hao OS
2019-09-12 2:44 ` [dpdk-dev] [PATCH 1/1] " Jerry Hao OS
2019-09-12 2:30 [dpdk-dev] [PATCH 0/1] " Jerry Hao OS
2019-09-12 2:30 ` [dpdk-dev] [PATCH 1/1] build: " Jerry Hao OS
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).