mstflint: add new package

This commit adds a new package, including tools for
diagnosing Mellanox Spectrum Switches and ConnectX
NICs and querying and installing firmware.

Package Contents:
  mflash lib
    This lib provides low level Flash
    access through Mellanox HCAs.
  mtcr lib (implemented in mtcr.h file)
    This lib enables access to HCA hardware registers.
  mstregdump
    This utility dumps hardware registers from
    Mellanox hardware for later analysis by Mellanox.
  mstvpd
    This utility dumps the on-card VPD.
  mstmcra
    This debug utility reads/writes a to/from
    the device configuration register space.
  mstconfig
    This tool sets or queries non-volatile
    configurable options for Mellanox HCAs.
  mstfwmanager
    Mellanox firmware update and query utility which scans
    the system for available Mellanox devices (only mst
    PCI devices) and performs the necessary firmware updates.
  mstreg
    The mlxreg utility allows users to obtain information
    regarding supported access registers, such as their
    fields and attributes.
  mstfwtrace
    The mstfwtrace utility extracts and prints trace messages
    generated by the firmware running on 5th generation
    devices iRISCs. This tool supports secure FW flow only.
  mstlink
    The mstlink tool is used to check and debug
    link status and issues related to them.

Signed-off-by: Til Kaiser <mail@tk154.de>
This commit is contained in:
Til Kaiser 2024-01-26 18:09:37 +01:00 committed by Josef Schlehofer
parent 6be0617c00
commit 8bb2997b5a
1 changed files with 97 additions and 0 deletions

97
utils/mstflint/Makefile Normal file
View File

@ -0,0 +1,97 @@
#
# Copyright (C) 2024 Til Kaiser
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=mstflint
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/Mellanox/mstflint
PKG_MIRROR_HASH:=d801b839335d6513bf5bb6d5013506366706e5ea20d9eac1a5dd6501f729437d
PKG_SOURCE_VERSION:=17e9b849ba57cfac1b28240a25ece300a0f74a45
PKG_SOURCE_DATE:=2024-01-15
PKG_MAINTAINER:=Til Kaiser <mail@tk154.de>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/mstflint
SECTION:=Utilities
CATEGORY:=Utilities
TITLE:=Mellanox Firmware Burning and Diagnostics Tools
URL:=https://github.com/Mellanox/mstflint
DEPENDS:=@!(mips||mipsel) \
+libcurl +liblzma +libopenssl +libsqlite3 \
+libstdcpp +libxml2 +python3-ctypes \
+python3-urllib +python3-xml +zlib
endef
define Package/mstflint/description
This package contains a burning tool and diagnostic
tools for Mellanox manufactured HCA/NIC cards.
Package Contents:
mflash lib
This lib provides low level Flash
access through Mellanox HCAs.
mtcr lib (implemented in mtcr.h file)
This lib enables access to HCA hardware registers.
mstregdump
This utility dumps hardware registers from
Mellanox hardware for later analysis by Mellanox.
mstvpd
This utility dumps the on-card VPD.
mstmcra
This debug utility reads/writes a to/from
the device configuration register space.
mstconfig
This tool sets or queries non-volatile
configurable options for Mellanox HCAs.
mstfwmanager
Mellanox firmware update and query utility which scans
the system for available Mellanox devices (only mst
PCI devices) and performs the necessary firmware updates.
mstreg
The mlxreg utility allows users to obtain information
regarding supported access registers, such as their
fields and attributes.
mstfwtrace
The mstfwtrace utility extracts and prints trace messages
generated by the firmware running on 5th generation
devices iRISCs. This tool supports secure FW flow only.
mstlink
The mstlink tool is used to check and debug
link status and issues related to them.
endef
CONFIGURE_ARGS += \
--enable-fw-mgr \
--disable-inband
TARGET_CFLAGS += \
-D_GNU_SOURCE \
-I$(STAGING_DIR)/usr/include/libxml2
define Package/mstflint/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib/mstflint
$(CP) $(PKG_INSTALL_DIR)/usr/lib/mstflint $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/share/mstflint
$(CP) $(PKG_INSTALL_DIR)/usr/share/mstflint $(1)/usr/share/
endef
$(eval $(call BuildPackage,mstflint))