Add kernel and userspace code to dump the firmware state of supported

ConnectX-4/5 devices in mlx5core.

The dump is obtained by reading a predefined register map from the
non-destructive crspace, accessible by the vendor-specific PCIe
capability (VSC). The dump is stored in preallocated kernel memory and
managed by the mlx5tool(8), which communicates with the driver using a
character device node.

The utility allows to store the dump in format
    <address> <value>
into a file, to reset the dump content, and to manually initiate the
dump.

A call to mlx5_fwdump() should be added at the places where a dump
must be fetched automatically. The most likely place is right before a
firmware reset request.

Submitted by:	kib@
MFC after:	1 week
Sponsored by:	Mellanox Technologies
This commit is contained in:
Hans Petter Selasky
2018-03-08 15:21:56 +00:00
parent 479c9e50e1
commit e808190a59
21 changed files with 12087 additions and 3 deletions
+4
View File
@@ -889,6 +889,10 @@ DIRDEPS+= \
DIRDEPS+= usr.sbin/cxgbetool
.endif
.if ${MK_MLX5TOOL} != "no"
DIRDEPS+= usr.sbin/mlx5tool
.endif
.if ${MK_GPL_DTC} != "yes"
DIRDEPS+= usr.bin/dtc
.endif