[dpdk-dev] [RFC PATCH 2/2] build: disable drivers from file
Juraj Linkeš
juraj.linkes at pantheon.tech
Wed Sep 23 15:19:21 CEST 2020
Add the capability to specify which drivers will NOT be build in a file.
Signed-off-by: Juraj Linkeš <juraj.linkes at pantheon.tech>
---
.../arm/{ => armada}/arm64_armada_linux_gcc | 2 +-
config/arm/armada/meson.build | 31 +++++++++++++++++++
drivers/meson.build | 13 +++++---
3 files changed, 41 insertions(+), 5 deletions(-)
rename config/arm/{ => armada}/arm64_armada_linux_gcc (93%)
create mode 100644 config/arm/armada/meson.build
diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/armada/arm64_armada_linux_gcc
similarity index 93%
rename from config/arm/arm64_armada_linux_gcc
rename to config/arm/armada/arm64_armada_linux_gcc
index fa40c0398..8b4b5c8ad 100644
--- a/config/arm/arm64_armada_linux_gcc
+++ b/config/arm/armada/arm64_armada_linux_gcc
@@ -14,4 +14,4 @@ cpu = 'armv8-a'
endian = 'little'
[properties]
-implementor_id = '0x56'
+machine = 'armada'
diff --git a/config/arm/armada/meson.build b/config/arm/armada/meson.build
new file mode 100644
index 000000000..22fdce5fe
--- /dev/null
+++ b/config/arm/armada/meson.build
@@ -0,0 +1,31 @@
+flags = {
+ 'common': [
+ ['RTE_CACHE_LINE_SIZE', 64],
+ ['RTE_MACHINE', '"armv8a"'],
+ ['CONFIG_RTE_LIBRTE_DPAA_BUS=n', false],
+ ['CONFIG_RTE_LIBRTE_COMMON_DPAAX=n', false],
+ ['CONFIG_RTE_LIBRTE_FSLMC_BUS=n', false],
+ ['CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=n', false],
+ ['CONFIG_RTE_LIBRTE_DPAA2_PMD=n', false],
+ ['CONFIG_RTE_LIBRTE_DPAA_BUS=n', false],
+ ['CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=n', false],
+ ['CONFIG_RTE_LIBRTE_DPAA_PMD=n', false],
+ ['CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n', false],
+ ['CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=n', false],
+ ['CONFIG_RTE_LIBRTE_PMD_CAAM_JR=n', false],
+ ['CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n', false],
+ ['CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=n', false],
+ ['CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=n', false],
+ ['CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=n', false],
+ ['CONFIG_RTE_LIBRTE_PFE_PMD=n', false],
+ ['CONFIG_RTE_LIBRTE_ENETC_PMD=n', false],
+ ['CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n', false],
+ ['CONFIG_RTE_LIBRTE_VHOST_NUMA=n', false]
+ ],
+ 'armada': [
+ ['RTE_MAX_NUMA_NODES', 1],
+ ['RTE_MAX_LCORE', 16]
+ ]
+}
+
+machine_args = ['-march=armv8-a+crc']
diff --git a/drivers/meson.build b/drivers/meson.build
index 5f9526557..c5deb6136 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -76,9 +76,17 @@ foreach subpath:subdirs
ext_deps = []
pkgconfig_extra_libs = []
+ if fmt_name == ''
+ fmt_name = name
+ endif
+ conf_flag = config_flag_fmt.format(fmt_name.to_upper())
+
if disabled_drivers.contains(drv_path)
build = false
reason = 'Explicitly disabled via build config'
+ elif dpdk_conf.has(conf_flag) and not dpdk_conf.get(conf_flag)
+ build = false
+ reason = 'Disabled via configuration file'
else
# pull in driver directory which should update all the local variables
subdir(drv_path)
@@ -113,10 +121,7 @@ foreach subpath:subdirs
else
enabled_drivers += name
- if fmt_name == ''
- fmt_name = name
- endif
- dpdk_conf.set(config_flag_fmt.format(fmt_name.to_upper()),1)
+ dpdk_conf.set(conf_flag, 1)
lib_name = driver_name_fmt.format(fmt_name)
dpdk_extra_ldflags += pkgconfig_extra_libs
--
2.20.1
More information about the dev
mailing list