- implement spinlock based on standard atomics
Min Zhou (24):
eal/loongarch: add atomic operations for LoongArch
eal/loongarch: add byte order operations for LoongArch
eal/loongarch: add cpu cycle operations for LoongArch
eal/loongarch: add prefetch operations for LoongArch
eal/loongarch
This patch adds architecture specific prefetch operations
for LoongArch architecture.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_prefetch.h | 47
1 file changed, 47 insertions(+)
create mode 100644 lib/eal/loongarch/include/rte_prefetch.h
diff --git a
processor during the
execution of the software. We can use this instruction to calculate
the frequency used by the timer.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_cycles.h | 53 ++
lib/eal/loongarch/rte_cycles.c | 45 ++
2 files
This patch adds spinlock operations for LoongArch architecture.
These implementations are based on standard atomics of toolchain
and heavily reference generic spinlock codes.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_spinlock.h | 90
1 file changed, 90
The hardware instructions based vector implementation for memcpy
will come later. At present, this dummy implementation can also
work.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_memcpy.h | 193 +
lib/eal/loongarch/include/rte_vect.h | 46 ++
2 files
This patch uses aux vector software register to get CPU flags
and add CPU flag checking support for LoongArch architecture.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_cpuflags.h | 39 ++
lib/eal/loongarch/rte_cpuflags.c | 94
2 files
This patch adds architecture specific atomic operations for
LoongArch architecture. These implementations use standard atomics
of toolchain and heavily reference generic atomics codes.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_atomic.h | 253 +
1 file
This patch adds io operations for LoongArch architecture. Let it
uses generic I/O implementation.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_io.h | 18 ++
1 file changed, 18 insertions(+)
create mode 100644 lib/eal/loongarch/include/rte_io.h
diff --git a/lib/eal
This patch adds mcslock operations for LoongArch architecture.
Let it uses generic mcslock implementation.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_mcslock.h | 18 ++
1 file changed, 18 insertions(+)
create mode 100644 lib/eal/loongarch/include/rte_mcslock.h
This patch adds pflock operations for LoongArch architecture.
Let it uses generic pflock implementation.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_pflock.h | 17 +
1 file changed, 17 insertions(+)
create mode 100644 lib/eal/loongarch/include/rte_pflock.h
diff
This patch adds ticketlock operations for LoongArch architecture.
Let it uses generic ticketlock implementation.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_ticketlock.h | 18 ++
1 file changed, 18 insertions(+)
create mode 100644 lib/eal/loongarch/include
This patch adds rwlock operations for LoongArch architecture.
These implementations refer to rte_rwlock.h of PPC.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_rwlock.h | 42 ++
1 file changed, 42 insertions(+)
create mode 100644 lib/eal/loongarch/include
LoongArch architecture has a different huge page size (32MB) than
other architectures. This patch adds a new huge page size for
LoongArch architecture.
Signed-off-by: Min Zhou
---
lib/eal/include/rte_memory.h | 1 +
lib/eal/include/rte_memzone.h | 1 +
2 files changed, 2 insertions(+)
diff
This patch adds hypervisor operations for LoongArch architecture.
In fact, these operations are currently not supported on LoongArch.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/rte_hypervisor.c | 11 +++
1 file changed, 11 insertions(+)
create mode 100644 lib/eal/loongarch
This patch sets a different eal base address for LoongArch
architecture.
Signed-off-by: Min Zhou
---
lib/eal/linux/eal_memory.c | 4
1 file changed, 4 insertions(+)
diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c
index c890c42106..60fc8cc6ca 100644
--- a/lib/eal/linux
This patch adds power operations for LoongArch architecture. In
fact, these operations are temporarily not supported on LoongArch.
Signed-off-by: Min Zhou
---
.../loongarch/include/rte_power_intrinsics.h | 20
lib/eal/loongarch/rte_power_intrinsics.c | 51 +++
2
The hardware instructions based vector implementation will come
in a future patch. This dummy implementation can also work.
Signed-off-by: Min Zhou
---
app/test/test_xmmt_ops.h | 17 +
1 file changed, 17 insertions(+)
diff --git a/app/test/test_xmmt_ops.h b/app/test
This patch adds some meson.build files for building DPDK on
LoongArch architecture.
Signed-off-by: Min Zhou
---
.../loongarch/loongarch_loongarch64_linux_gcc | 16 +++
config/loongarch/meson.build | 43 +++
lib/eal/loongarch/include/meson.build | 21
The purpose of this patch is used to fix building issues for
LoongArch architecture. The hardware instructions based vector
implementation will come in a future patch.
Signed-off-by: Min Zhou
---
drivers/net/i40e/i40e_rxtx_vec_lsx.c | 54
drivers/net/i40e
This patch adds claim responsibility for LoongArch architecture.
Signed-off-by: Min Zhou
---
MAINTAINERS | 9 +
1 file changed, 9 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 32ffdd1a61..996e70c1cb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -275,6 +275,15 @@ F: lib/eal
The purpose of this patch is used to fix building issues for
LoongArch architecture. The hardware instructions based vector
implementation will come in a future patch.
Signed-off-by: Min Zhou
---
drivers/net/ixgbe/ixgbe_rxtx_vec_lsx.c | 60 ++
drivers/net/ixgbe
This patch adds system call number of memfd_create for LoongArch
architecture.
Signed-off-by: Min Zhou
---
drivers/net/memif/rte_eth_memif.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/memif/rte_eth_memif.h
b/drivers/net/memif/rte_eth_memif.h
index
This patch adds system call number of bpf for LoongArch
architecture.
Signed-off-by: Min Zhou
---
drivers/net/tap/tap_bpf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/tap/tap_bpf.h b/drivers/net/tap/tap_bpf.h
index 639bdf3a79..4707f65e1d 100644
--- a/drivers
This patch adds architecture specific pause operations for
LoongArch architecture.
Signed-off-by: Min Zhou
---
lib/eal/loongarch/include/rte_pause.h | 24
1 file changed, 24 insertions(+)
create mode 100644 lib/eal/loongarch/include/rte_pause.h
diff --git a/lib/eal
].buf_addr;
| ~^~~
[..]
Fixes: 873e8dad6f49 ("vhost: support packed ring in async datapath")
Signed-off-by: Min Zhou
---
lib/vhost/virtio_net.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_ne
atomics of toolchain to implement
atomic operations
- implement spinlock based on standard atomics
Min Zhou (7):
eal/loongarch: support LoongArch architecture
net/ixgbe: add vector stubs for LoongArch
net/memif: set memfd syscall ID on LoongArch
net/tap: set BPF syscall ID for
, l2fwd, l3fwd examples.
Signed-off-by: Min Zhou
---
doc/guides/nics/features/ixgbe.ini | 1 +
drivers/net/ixgbe/ixgbe_rxtx.c | 7 +--
drivers/net/ixgbe/meson.build | 6 --
3 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/doc/guides/nics/features/ixgbe.ini
b/doc
isabled 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
Define the missing __NR_bpf syscall id to enable the tap PMD on
LoongArch.
Signed-off-by: Min Zhou
---
drivers/net/tap/meson.build | 6 --
drivers/net/tap/tap_bpf.h | 2 ++
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/net/tap/meson.build b/drivers/net/tap
Add missing em_mask_key() implementation to enable the l3fwd to be
run on LoongArch.
Signed-off-by: Min Zhou
---
examples/l3fwd/l3fwd_em.c | 8
examples/l3fwd/meson.build | 6 --
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/examples/l3fwd/l3fwd_em.c b/examples
Add checks for all flag values defined in the LoongArch cpu
feature table.
Signed-off-by: Min Zhou
---
app/test/test_cpuflags.c | 41
1 file changed, 41 insertions(+)
diff --git a/app/test/test_cpuflags.c b/app/test/test_cpuflags.c
index 98a99c2c7d
Define the missing __NR_memfd_create syscall id to enable the memif
PMD on LoongArch.
Signed-off-by: Min Zhou
---
drivers/net/memif/meson.build | 6 --
drivers/net/memif/rte_eth_memif.h | 2 ++
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/net/memif/meson.build
Checks cross-compilation using Ubuntu 20.04 x86 for LoongArch.
Signed-off-by: Min Zhou
---
.ci/linux-build.sh | 9 +
.github/workflows/build.yml | 10 +-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index
atomic operations
- implement spinlock based on standard atomics
*** BLURB HERE ***
Min Zhou (7):
eal/loongarch: support LoongArch architecture
net/ixgbe: add vector stubs for LoongArch
net/memif: set memfd syscall ID on LoongArch
net/tap: set BPF syscall ID for LoongArch
examples/l3fwd
Define the missing __NR_memfd_create syscall id to enable the memif
PMD on LoongArch.
Signed-off-by: Min Zhou
---
drivers/net/memif/meson.build | 6 --
drivers/net/memif/rte_eth_memif.h | 2 ++
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/net/memif/meson.build
/loongarch/rte_hypervisor.c
create mode 100644 lib/eal/loongarch/rte_power_intrinsics.c
diff --git a/MAINTAINERS b/MAINTAINERS
index 32ffdd1a61..4700e58a5c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -295,6 +295,12 @@ F: app/*/*_neon.*
F: examples/*/*_neon.*
F: examples/common/neon/
+LoongArch
+M: Mi
, l2fwd, l3fwd examples.
Signed-off-by: Min Zhou
---
doc/guides/nics/features/ixgbe.ini | 1 +
drivers/net/ixgbe/ixgbe_rxtx.c | 7 +--
drivers/net/ixgbe/meson.build | 6 --
3 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/doc/guides/nics/features/ixgbe.ini
b/doc
Define the missing __NR_bpf syscall id to enable the tap PMD on
LoongArch.
Signed-off-by: Min Zhou
---
drivers/net/tap/meson.build | 6 --
drivers/net/tap/tap_bpf.h | 2 ++
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/net/tap/meson.build b/drivers/net/tap
Add checks for all flag values defined in the LoongArch cpu
feature table.
Signed-off-by: Min Zhou
---
app/test/test_cpuflags.c | 41
1 file changed, 41 insertions(+)
diff --git a/app/test/test_cpuflags.c b/app/test/test_cpuflags.c
index 98a99c2c7d
Checks cross-compilation using Ubuntu 20.04 x86 for LoongArch.
Signed-off-by: Min Zhou
---
.ci/linux-build.sh | 10 ++
.github/workflows/build.yml | 10 +-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index
Add missing em_mask_key() implementation to enable the l3fwd to be
run on LoongArch.
Signed-off-by: Min Zhou
---
examples/l3fwd/l3fwd_em.c | 8
examples/l3fwd/meson.build | 6 --
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/examples/l3fwd/l3fwd_em.c b/examples
by sub-function calls under various conditions.
Although It's hard to understand why gcc just emits warning at one
of the eight places, adding validity checks for array length is
reasonable and can also fix the warning.
Signed-off-by: David Marchand
Signed-off-by: Min Zhou
---
lib/vhost/virtio_
.
Signed-off-by: Min Zhou
Signed-off-by: Stephen Hemminger
---
v2:
Make internal function get_eth_dcb_conf return void and remove the unused
parameter port_id.
---
app/test-pmd/testpmd.c | 26 ++
1 file changed, 6 insertions(+), 20 deletions(-)
diff --git a/app/test-pmd
101 - 143 of 143 matches
Mail list logo