summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavan Nikhilesh <pbhagavatula@caviumnetworks.com>2018-01-22 20:56:31 +0530
committerBruce Richardson <bruce.richardson@intel.com>2018-01-30 21:59:00 +0100
commite53a5299d21936156710dbe69c913a4d6a6694ed (patch)
treeb91fef7073f72d10a17334767981e03067c66cfc
parent200b88cbe0e6f3efd5edf81f8bfc4ace2bb17928 (diff)
downloaddpdk-e53a5299d21936156710dbe69c913a4d6a6694ed.zip
dpdk-e53a5299d21936156710dbe69c913a4d6a6694ed.tar.gz
dpdk-e53a5299d21936156710dbe69c913a4d6a6694ed.tar.xz
build: support vendor specific ARM cross builds
Add various vendor specific cross build targets. This can be verified by using linaro toolchain and running meson build --cross-file config/arm/arm64_<cpu>_<platform>_<compiler> In future more cross build targets can be added. Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
-rw-r--r--config/arm/arm64_armv8_linuxapp_gcc10
-rw-r--r--config/arm/arm64_thunderx_linuxapp_gcc13
-rw-r--r--doc/build-sdk-meson.txt27
3 files changed, 50 insertions, 0 deletions
diff --git a/config/arm/arm64_armv8_linuxapp_gcc b/config/arm/arm64_armv8_linuxapp_gcc
new file mode 100644
index 0000000..3b4d3c4
--- /dev/null
+++ b/config/arm/arm64_armv8_linuxapp_gcc
@@ -0,0 +1,10 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
diff --git a/config/arm/arm64_thunderx_linuxapp_gcc b/config/arm/arm64_thunderx_linuxapp_gcc
new file mode 100644
index 0000000..7ff34af
--- /dev/null
+++ b/config/arm/arm64_thunderx_linuxapp_gcc
@@ -0,0 +1,13 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x43'
diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt
index b5573f7..9618e75 100644
--- a/doc/build-sdk-meson.txt
+++ b/doc/build-sdk-meson.txt
@@ -150,6 +150,33 @@ driver install path, so dynamically-linked applications can be run without
having to pass in ``-d /path/to/driver`` options for standard drivers.
+Cross Compiling DPDK
+--------------------
+
+To cross-compile DPDK on a desired target machine we can use the following
+command::
+
+ meson cross-build --cross-file <target_machine_configuration>
+
+For example if the target machine is arm64 we can use the following
+command::
+ meson arm-build --cross-file config/arm/arm64_armv8_linuxapp_gcc
+
+where config/arm/arm64_armv8_linuxapp_gcc contains the following
+parameters::
+
+ [binaries]
+ c = 'aarch64-linux-gnu-gcc'
+ cpp = 'aarch64-linux-gnu-cpp'
+ ar = 'aarch64-linux-gnu-ar'
+
+ [host_machine]
+ system = 'linux'
+ cpu_family = 'aarch64'
+ cpu = 'armv8-a'
+ endian = 'little'
+
+
Using the DPDK within an Application
-------------------------------------