> On Jul 2, 2018, at 4:11 AM, Moti Haimovsky <mo...@mellanox.com> wrote:
>
> 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 <mo...@mellanox.com>
> ---
Acked-by: Yongseok Koh <ys...@mellanox.com>
Thanks