142 lines
4.8 KiB
Makefile
142 lines
4.8 KiB
Makefile
#
|
|
# 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_VERSION:=4.29.0
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-1.tar.gz
|
|
PKG_SOURCE_URL:=https://github.com/Mellanox/$(PKG_NAME)/releases/download/v$(PKG_VERSION)-1
|
|
PKG_SOURCE_DATE:=2024-08-13
|
|
PKG_HASH:=1bd048146f1fe0493d4770b244b02e32981b49caed068fd96a22700103220654
|
|
|
|
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||mips64||mipsel) \
|
|
+libcurl +libexpat +liblzma +libopenssl \
|
|
+libsqlite3 +libstdcpp +libxml2 +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
|
|
|
|
define Package/mstflint/config
|
|
config PACKAGE_MSTFLINT_INCLUDE_PYTHON
|
|
bool "Include Python-dependent tools"
|
|
default y
|
|
depends on PACKAGE_mstflint
|
|
select PACKAGE_python3-ctypes
|
|
select PACKAGE_python3-logging
|
|
select PACKAGE_python3-xml
|
|
help
|
|
All mstflint tools including the following Python-dependent:
|
|
msftwreset, mstfwtrace, mstprivhost,
|
|
mstresourcedump, mstresourceparse
|
|
endef
|
|
|
|
CONFIGURE_ARGS += \
|
|
--enable-fw-mgr \
|
|
--disable-inband \
|
|
--enable-adb-generic-tools
|
|
|
|
TARGET_CFLAGS += \
|
|
-D_GNU_SOURCE \
|
|
-I$(STAGING_DIR)/usr/include/libxml2
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/mstflint $(1)/usr/include/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/mstflint $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/mstflint/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstarchive $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstconfig $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstcongestion $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstflint $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstfwctrl $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstfwmanager $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstlink $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstmcra $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstmread $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstmtserver $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstmwrite $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstreg $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstregdump $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstvpd $(1)/usr/bin/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/share/mstflint
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/share/mstflint $(1)/usr/share/
|
|
|
|
ifeq ($(CONFIG_PACKAGE_MSTFLINT_INCLUDE_PYTHON),y)
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstfwreset $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstfwtrace $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstprivhost $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstresourcedump $(1)/usr/bin/
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mstresourceparse $(1)/usr/bin/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/mstflint
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/mstflint/python_tools $(1)/usr/lib/mstflint/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/mstflint/sdk $(1)/usr/lib/mstflint/
|
|
endif
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,mstflint))
|