[dpdk-dev] [PATCH v14 00/12] Arm build options rework
Andrew Boyer
aboyer at pensando.io
Mon Jan 4 23:46:20 CET 2021
> On Jan 1, 2021, at 12:19 PM, Honnappa Nagarahalli <Honnappa.Nagarahalli at arm.com> wrote:
>>
>> 30/12/2020 20:09, Andrew Boyer:
>>>
>>>> On Dec 23, 2020, at 6:47 AM, Juraj Linkeš <juraj.linkes at pantheon.tech>
>> wrote:
>>>>
>>>> The current way of specifying Arm configuration options is
>>>> insufficient since we can't identify the SoC we're building for from
>>>> the MIDR information. For example, we can't distinguish between
>>>> N1SDP, Graviton2 or Ampere Altra.
>>>>
>>>> Add a way to specify the cpu count and numa node count for cross
>>>> builds and aarch64 -> aarch64 (SoC) builds.
>>>>
>>>
>>> Hello Juraj,
>>> This is great, you have solved a problem for me before I even knew
>>> there was one. (We have two SoCs with the same id and pn, but
>>> different core counts etc.)
>>>
>>> Can anyone fill me in on how and when this patchset is going to be taken?
>> Will it go to dpdk-next-net, or to some other branch?
>>
>> It should go in the main branch.
>> I cannot commit on any date, but for sure it would help if you can do a
>> detailed review, thanks.
> Testing on your SoC would be of great help.
>
Hello Honnappa, Juraj, and Bruce,
I've got most of the build working under meson. A few questions:
1) Bruce - when the “-Ddefault_library=both” flag is passed in, the build fails with this error. It’s been broken for a long time; maybe this option isn’t supported and should be blocked earlier?
../../dpdk/app/meson.build:48:3: ERROR: Tried to get unknown variable "both_rte_ethdev".
2) Is there a way to disable specific libraries? I’ve pruned down the list of drivers, which is great. This feature existed under make but I don’t see anything about it in meson yet.
3) We need to build kni against the aarch64 kernel headers, but it fails. It appears that kernel/linux/kni/meson.build doesn’t pass any cross-compile flags in the make command it creates. The diff below shows how I hardcoded it to get it to work for now. Thoughts on how to do this right? meson has the path (in $PATH) and the binary prefixs (in ‘[binaries]’ in the cross file). It must know the arch, too.
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -14,6 +14,8 @@ custom_target('rte_kni',
input: kni_sources,
output: 'rte_kni.ko',
command: ['make', '-j4', '-C', kernel_dir + '/build',
+ 'CROSS_COMPILE=/tool/toolchain/aarch64-1.1/bin/aarch64-linux-gnu-',
+ 'ARCH=aarch64',
'M=' + meson.current_build_dir(),
'src=' + meson.current_source_dir(),
'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
I will try to get to a full review soon.
Thank you,
Andrew
More information about the dev
mailing list