numam-dpdk/doc/guides/nics
Moti Haimovsky 6bf10ab69b net/mlx5: support 32-bit systems
This patch adds support for building and running mlx5 PMD on
32bit systems such as i686.

The main issue to tackle was handling the 32bit access to the UAR
as quoted from the mlx5 PRM:
QP and CQ DoorBells require 64-bit writes. For best performance, it
is recommended to execute the QP/CQ DoorBell as a single 64-bit write
operation. For platforms that do not support 64 bit writes, it is
possible to issue the 64 bits DoorBells through two consecutive
writes,
each write 32 bits, as described below:
* The order of writing each of the Dwords is from lower to upper
  addresses.
* No other DoorBell can be rung (or even start ringing) in the midst
 of an on-going write of a DoorBell over a given UAR page.

The last rule implies that in a multi-threaded environment, the access
to a UAR page (which can be accessible by all threads in the process)
must be synchronized (for example, using a semaphore) unless an atomic
write of 64 bits in a single bus operation is guaranteed. Such a
synchronization is not required for when ringing DoorBells on different
UAR pages.

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-07-12 14:34:59 +02:00
..
features net/mlx5: support 32-bit systems 2018-07-12 14:34:59 +02:00
img net/szedata2: do not affect Ethernet interfaces 2018-04-14 00:43:30 +02:00
ark.rst net/ark: remove empty header file 2017-10-06 02:49:47 +02:00
avp.rst doc: add AVP 2017-04-04 19:02:45 +02:00
axgbe.rst net/axgbe: support generic Rx/Tx stats 2018-04-14 00:41:44 +02:00
bnx2x.rst net/bnx2x: make init and driver logtype names consistent 2018-04-27 15:54:56 +01:00
bnxt.rst net/bnxt: introduce Broadcom Stingray 2018-04-14 00:59:41 +02:00
build_and_test.rst doc: add note for shared library in NICs guide 2018-02-13 23:59:00 +01:00
cxgbe.rst net/cxgbe: parse and validate flows 2018-06-14 19:27:50 +02:00
dpaa2.rst bus/fslmc: support device blacklisting 2018-05-14 00:35:47 +02:00
dpaa.rst bus/dpaa: support device blacklisting 2018-05-14 00:34:25 +02:00
e1000em.rst doc: convert Intel license headers to SPDX tags 2018-02-06 23:27:08 +01:00
ena.rst doc: refer PMD compile/test section from ena guide 2017-04-19 15:37:37 +02:00
enic.rst net/enic: add devarg to specify ingress VLAN rewrite mode 2018-07-03 01:54:15 +02:00
fail_safe.rst use SPDX tag for 6WIND copyrighted files 2018-05-25 10:47:06 +02:00
features.rst doc: update CRC feature with new offload flag 2018-07-05 16:10:13 +02:00
fm10k.rst doc: convert fm10k guide to new offload API 2018-05-25 17:07:40 +02:00
i40e.rst net/i40e: remove VF interrupt handler 2018-07-03 01:35:58 +02:00
ifc.rst net/ifc: make driver name consistent 2018-06-14 19:27:50 +02:00
igb.rst doc: add igb guide 2018-02-08 18:42:14 +01:00
index.rst net/ifc: make driver name consistent 2018-06-14 19:27:50 +02:00
intel_vf.rst doc: update Intel VF guide 2018-02-13 18:17:30 +01:00
ixgbe.rst doc: convert ixgbe guide to new offload API 2018-05-25 17:07:40 +02:00
kni.rst doc: convert Intel license headers to SPDX tags 2018-02-06 23:27:08 +01:00
liquidio.rst doc: remove deprecated terms from liquidio guide 2018-05-25 17:07:40 +02:00
mlx4.rst net/mlx4: support hardware TSO 2018-07-10 14:02:57 +02:00
mlx5.rst net/mlx5: support 32-bit systems 2018-07-12 14:34:59 +02:00
mvpp2.rst net/mrvl: rename PMD as mvpp2 2018-03-30 14:08:44 +02:00
nfp.rst doc: update NFP guide 2018-04-14 00:40:21 +02:00
octeontx.rst doc: remove deprecated terms from octeontx guide 2018-05-25 17:07:40 +02:00
overview.rst use SPDX tag for 6WIND copyrighted files 2018-05-25 10:47:06 +02:00
pcap_ring.rst net/pcap: capture only ingress packets from Rx iface 2018-07-04 20:54:05 +02:00
qede.rst doc: update qede management firmware guide 2018-07-03 01:35:58 +02:00
sfc_efx.rst net/sfc: support MARK and FLAG actions in flow API 2018-04-27 18:00:59 +01:00
szedata2.rst doc: update doc and release notes for szedata2 driver 2018-04-27 18:01:00 +01:00
tap.rst net/tap: report on supported RSS hash functions 2018-05-14 22:31:51 +01:00
thunderx.rst net/thunderx: add support for hardware first skip feature 2018-07-03 01:35:58 +02:00
vdev_netvsc.rst net/vdev_netvsc: remove specified devices IP check 2018-04-27 17:34:42 +01:00
vhost.rst net/vhost: add parameter to enable IOMMU feature 2017-11-07 14:19:30 +01:00
virtio.rst net/virtio: add in-order Rx/Tx into selection 2018-07-03 01:35:58 +02:00
vmxnet3.rst doc: convert Intel license headers to SPDX tags 2018-02-06 23:27:08 +01:00