6bf10ab69b
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> |
||
---|---|---|
.. | ||
features | ||
img | ||
ark.rst | ||
avp.rst | ||
axgbe.rst | ||
bnx2x.rst | ||
bnxt.rst | ||
build_and_test.rst | ||
cxgbe.rst | ||
dpaa2.rst | ||
dpaa.rst | ||
e1000em.rst | ||
ena.rst | ||
enic.rst | ||
fail_safe.rst | ||
features.rst | ||
fm10k.rst | ||
i40e.rst | ||
ifc.rst | ||
igb.rst | ||
index.rst | ||
intel_vf.rst | ||
ixgbe.rst | ||
kni.rst | ||
liquidio.rst | ||
mlx4.rst | ||
mlx5.rst | ||
mvpp2.rst | ||
nfp.rst | ||
octeontx.rst | ||
overview.rst | ||
pcap_ring.rst | ||
qede.rst | ||
sfc_efx.rst | ||
szedata2.rst | ||
tap.rst | ||
thunderx.rst | ||
vdev_netvsc.rst | ||
vhost.rst | ||
virtio.rst | ||
vmxnet3.rst |