[dpdk-dev,1/4] introduce Broadcom Stingray

Message ID 20180321180629.58318-2-ajit.khaparde@broadcom.com (mailing list archive)
State Changes Requested, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation fail Compilation issues

Commit Message

Ajit Khaparde March 21, 2018, 6:06 p.m. UTC
  From: Scott Branden <scott.branden@broadcom.com>

Add Broadcom Stingray machine support based on armv8.

For product brief see:
https://www.broadcom.com/products/ethernet-connectivity/controllers/bcm58800

Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 config/defconfig_arm64-stingray-linuxapp-gcc | 16 ++++++++++++++
 mk/machine/stingray/rte.vars.mk              | 31 ++++++++++++++++++++++++++++
 2 files changed, 47 insertions(+)
 create mode 100644 config/defconfig_arm64-stingray-linuxapp-gcc
 create mode 100644 mk/machine/stingray/rte.vars.mk
  

Comments

Ferruh Yigit March 30, 2018, 10:34 a.m. UTC | #1
On 3/21/2018 6:06 PM, Ajit Khaparde wrote:
> From: Scott Branden <scott.branden@broadcom.com>
> 
> Add Broadcom Stingray machine support based on armv8.
> 
> For product brief see:
> https://www.broadcom.com/products/ethernet-connectivity/controllers/bcm58800
> 
> Signed-off-by: Scott Branden <scott.branden@broadcom.com>
> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> ---
>  config/defconfig_arm64-stingray-linuxapp-gcc | 16 ++++++++++++++
>  mk/machine/stingray/rte.vars.mk              | 31 ++++++++++++++++++++++++++++
>  2 files changed, 47 insertions(+)
>  create mode 100644 config/defconfig_arm64-stingray-linuxapp-gcc
>  create mode 100644 mk/machine/stingray/rte.vars.mk
> 
> diff --git a/config/defconfig_arm64-stingray-linuxapp-gcc b/config/defconfig_arm64-stingray-linuxapp-gcc
> new file mode 100644
> index 000000000..247e53eaa
> --- /dev/null
> +++ b/config/defconfig_arm64-stingray-linuxapp-gcc
> @@ -0,0 +1,16 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright (C) Broadcom 2017-2018. All rights reserved.
> +#
> +
> +#include "defconfig_arm64-armv8a-linuxapp-gcc"
> +
> +# Broadcom - Stingray
> +CONFIG_RTE_MACHINE="stingray"

This is same as armv8a machine type, is it required to add new "stingray"
machine type?

<...>
  
Scott Branden March 30, 2018, 6:54 p.m. UTC | #2
On 18-03-30 03:34 AM, Ferruh Yigit wrote:
> On 3/21/2018 6:06 PM, Ajit Khaparde wrote:
>> From: Scott Branden <scott.branden@broadcom.com>
>>
>> Add Broadcom Stingray machine support based on armv8.
>>
>> For product brief see:
>> https://www.broadcom.com/products/ethernet-connectivity/controllers/bcm58800
>>
>> Signed-off-by: Scott Branden <scott.branden@broadcom.com>
>> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
>> ---
>>   config/defconfig_arm64-stingray-linuxapp-gcc | 16 ++++++++++++++
>>   mk/machine/stingray/rte.vars.mk              | 31 ++++++++++++++++++++++++++++
>>   2 files changed, 47 insertions(+)
>>   create mode 100644 config/defconfig_arm64-stingray-linuxapp-gcc
>>   create mode 100644 mk/machine/stingray/rte.vars.mk
>>
>> diff --git a/config/defconfig_arm64-stingray-linuxapp-gcc b/config/defconfig_arm64-stingray-linuxapp-gcc
>> new file mode 100644
>> index 000000000..247e53eaa
>> --- /dev/null
>> +++ b/config/defconfig_arm64-stingray-linuxapp-gcc
>> @@ -0,0 +1,16 @@
>> +# SPDX-License-Identifier: BSD-3-Clause
>> +# Copyright (C) Broadcom 2017-2018. All rights reserved.
>> +#
>> +
>> +#include "defconfig_arm64-armv8a-linuxapp-gcc"
>> +
>> +# Broadcom - Stingray
>> +CONFIG_RTE_MACHINE="stingray"
> This is same as armv8a machine type, is it required to add new "stingray"
> machine type?
Good question.  We could have tuning or other differences in the future 
but it looks like we can use the armv8a machine.
I think we can get rid of rte.vars.mk for now.
>
> <...>
  

Patch

diff --git a/config/defconfig_arm64-stingray-linuxapp-gcc b/config/defconfig_arm64-stingray-linuxapp-gcc
new file mode 100644
index 000000000..247e53eaa
--- /dev/null
+++ b/config/defconfig_arm64-stingray-linuxapp-gcc
@@ -0,0 +1,16 @@ 
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (C) Broadcom 2017-2018. All rights reserved.
+#
+
+#include "defconfig_arm64-armv8a-linuxapp-gcc"
+
+# Broadcom - Stingray
+CONFIG_RTE_MACHINE="stingray"
+CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
+
+# Doesn't support NUMA
+CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
+CONFIG_RTE_LIBRTE_VHOST_NUMA=n
+
+CONFIG_RTE_EAL_IGB_UIO=y
+CONFIG_RTE_KNI_KMOD=n
diff --git a/mk/machine/stingray/rte.vars.mk b/mk/machine/stingray/rte.vars.mk
new file mode 100644
index 000000000..bc3b7dc95
--- /dev/null
+++ b/mk/machine/stingray/rte.vars.mk
@@ -0,0 +1,31 @@ 
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (C) Broadcom 2017-2018. All rights reserved.
+#
+
+#
+# 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