[dpdk-dev,1/4] introduce Broadcom Stingray
Checks
Commit Message
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
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?
<...>
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.
>
> <...>
new file mode 100644
@@ -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
new file mode 100644
@@ -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