numam-dpdk/examples
Min Zhou 29631ee5c8 eal/loongarch: support LoongArch architecture
Add all necessary elements for DPDK to compile and run EAL on
LoongArch64 Soc.

This includes:

- EAL library implementation for LoongArch ISA.
- meson build structure for 'loongarch' architecture.
  RTE_ARCH_LOONGARCH define is added for architecture identification.
- xmm_t structure operation stubs as there is no vector support in
  the current version for LoongArch.

Compilation was tested on Debian and CentOS using loongarch64
cross-compile toolchain from x86 build hosts. Functions were tested
on Loongnix and Kylin which are two Linux distributions supported
LoongArch host based on Linux 4.19 maintained by Loongson
Corporation.

We also tested DPDK on LoongArch with some external applications,
including: Pktgen-DPDK, OVS, VPP.

The platform is currently marked as linux-only because there is no
other OS than Linux support LoongArch host currently.

The i40e PMD driver is disabled on LoongArch because of the absence
of vector support in the current version.

Similar to RISC-V, the compilation of following modules has been
disabled by this commit and will be re-enabled in later commits as
fixes are introduced:
net/ixgbe, net/memif, net/tap, example/l3fwd.

Signed-off-by: Min Zhou <zhoumin@loongson.cn>
2022-10-06 12:45:05 +02:00
..
bbdev_app remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
bond examples/bond: fix invalid use of trylock 2022-04-14 14:38:20 +02:00
bpf mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
cmdline doc: use code snippets in sample app guides 2021-07-31 15:42:43 +02:00
common examples: fix Arm build with GCC 12 2022-10-06 12:28:58 +02:00
distributor eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
dma examples/dma: support dequeue when no packet received 2022-10-03 18:24:24 +02:00
ethtool dev: introduce device accessors 2022-09-23 16:14:34 +02:00
eventdev_pipeline eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
fips_validation cryptodev: hide symmetric session structure 2022-10-04 22:29:01 +02:00
flow_classify examples/flow_classify: fix failure message 2022-03-08 14:17:27 +01:00
flow_filtering examples/flow_filtering: enhance code snippet readability 2021-11-16 16:22:26 +01:00
helloworld doc: use code snippets in sample app guides 2021-07-31 15:42:43 +02:00
ip_fragmentation remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
ip_pipeline kni: stop populating PCI info in examples 2022-09-23 16:14:33 +02:00
ip_reassembly remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
ipsec-secgw security: hide session structure 2022-10-04 22:37:54 +02:00
ipv4_multicast remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
l2fwd remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
l2fwd-cat examples/l2fwd-cat: fix build 2022-10-06 12:33:43 +02:00
l2fwd-crypto remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
l2fwd-event remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
l2fwd-jobstats remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
l2fwd-keepalive remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
l3fwd eal/loongarch: support LoongArch architecture 2022-10-06 12:45:05 +02:00
l3fwd-graph remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
l3fwd-power remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
link_status_interrupt remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
multi_process bus: introduce accessors 2022-09-23 16:14:34 +02:00
ntb eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
packet_ordering eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
pipeline examples/pipeline: fix file descriptor leak 2022-10-05 14:40:06 +02:00
ptpclient eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
qos_meter eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
qos_sched eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
rxtx_callbacks eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
server_node_efd eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
service_cores examples/service_cores: fix lcore count check 2021-09-16 17:31:03 +02:00
skeleton eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
timer doc: use code snippets in sample app guides 2021-07-31 15:42:43 +02:00
vdpa dev: introduce device accessors 2022-09-23 16:14:34 +02:00
vhost remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
vhost_blk eal: remove unneeded includes from a public header 2022-09-21 15:31:03 +02:00
vhost_crypto cryptodev: rework session framework 2022-10-04 22:04:59 +02:00
vm_power_manager examples/vm_power_manager: use safe list iterator 2022-10-05 14:15:37 +02:00
vmdq remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
vmdq_dcb remove prefix to some local macros in apps and examples 2022-10-05 21:34:40 +02:00
meson.build examples/kni: remove deprecated example 2022-10-03 18:24:24 +02:00