
This commit adds the drivers for Silicom STS NICs. ice driver: 1.10.1.2 iavf driver: 4.6.1 i40e driver: 2.21.12 Now Starlingx supports multiple driver versions as the following. Currently deployed drivers:(cvl-4.0.1) ice driver: 1.9.11 iavf driver: 4.5.3 i40e driver: 2.20.12 The Silicom driver version:(cvl-4.10) ice driver: 1.10.1.2 iavf driver: 4.6.1 i40e driver: 2.21.12 The legacy Intel NIC drivers:(cvl-2.54) ice driver: 1.5.8.1 iavf driver: 4.0.1 i40e driver: 2.14.13 Testing: - An ISO image can be built successfully. - PXE boot-based installation onto an All-in-One Duplex lab was successful with rt and std kernels. - Interfaces are up and pass packets - Create vfs, ensure that they are picked up by the new iavf driver and that the interface can come up and pass packets - The currently deployed ones are loaded by default and the DDP firmware version is correct. It is 1.3.30.0. - It is possible to switch to the drivers manually with command line parameter multi-drivers-switch=cvl-4.10, and the DDP firmware version is 1.3.30.0. - It is also possible to switch back to the currently deployed drivers and the legacy drivers manually with command line parameter multi-drivers-switch=cvl-4.0.1 and multi-drivers-switch=cvl-2.54. Story: 2010213 Task: 47295 Signed-off-by: Jiping Ma <jiping.ma2@windriver.com> Change-Id: Ic3f946ea60ce7b49b0032b2bcd8da412f80cb96e
58 lines
2.4 KiB
Makefile
Executable File
58 lines
2.4 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
#
|
|
|
|
# output every command that modifies files on the build system.
|
|
#export DH_VERBOSE = 1
|
|
|
|
%:
|
|
dh $@
|
|
|
|
WITH_MOD_SIGN ?= 1
|
|
|
|
kheaders_name=$(shell ls /usr/src | grep linux@KERNEL_TYPE@-headers | grep amd64)
|
|
kheaders_common=$(shell ls /usr/src | grep linux@KERNEL_TYPE@-headers | grep common)
|
|
export KSRC=/usr/src/$(kheaders_name)
|
|
export KSRC_COMMON=/usr/src/$(kheaders_common)
|
|
kversion=$(shell echo $(kheaders_name) | sed 's/linux@KERNEL_TYPE@-headers-//g')
|
|
kmod_name=ice
|
|
bundle_version=cvl-4.10
|
|
version=$(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-.\+/\1/p')
|
|
pkg_name=ice-$(bundle_version)@KERNEL_TYPE@
|
|
pkg_common_name=ice-$(bundle_version)-common
|
|
|
|
_sysconfdir=/etc
|
|
_defaultdocdir=/usr/share/doc
|
|
_mandir=/usr/share/man
|
|
|
|
ifeq ($(WITH_MOD_SIGN),1)
|
|
_keydir ?= /usr/src/kernels/$(kversion)/
|
|
privkey ?= $(_keydir)/signing_key.pem
|
|
pubkey ?= $(_keydir)/signing_key.x509
|
|
endif
|
|
|
|
override_dh_auto_install:
|
|
dh_install src/$(kmod_name).ko /lib/modules/$(kversion)/extra/$(kmod_name)-$(bundle_version)/
|
|
dh_install -p$(pkg_common_name) pci.updates $(_defaultdocdir)/kmod-$(kmod_name)-$(version)/
|
|
dh_install -p$(pkg_common_name) README $(_defaultdocdir)/kmod-$(kmod_name)-$(version)/
|
|
dh_install -p$(pkg_common_name) $(kmod_name).7 $(_mandir)/man7/$(kmod_name)-$(version)/
|
|
# Install both the OS default regular DDP fw and the COMMS version
|
|
dh_installdirs -p$(pkg_common_name) /lib/firmware/updates/intel/$(kmod_name)-$(version)/ddp/
|
|
install -m 644 ddp/README debian/$(pkg_common_name)/lib/firmware/updates/intel/$(kmod_name)-$(version)/ddp/
|
|
install -m 644 ddp/LICENSE debian/$(pkg_common_name)/lib/firmware/updates/intel/$(kmod_name)-$(version)/ddp/
|
|
install -m 644 ddp/ice-*.pkg debian/$(pkg_common_name)/lib/firmware/updates/intel/$(kmod_name)-$(version)/ddp/
|
|
# Make the regular DDP fw be the default one to load
|
|
dh_installdirs -p$(pkg_common_name) /lib/firmware/intel/$(kmod_name)/ddp/
|
|
ln -frs debian/$(pkg_common_name)/lib/firmware/updates/intel/$(kmod_name)-$(version)/ddp/ice-*.pkg debian/$(pkg_common_name)/lib/firmware/intel/$(kmod_name)/ddp/$(version)-ice.pkg
|
|
|
|
override_dh_strip:
|
|
dh_strip
|
|
find debian -name '*.ko' | xargs strip -g
|
|
ifeq ($(WITH_MOD_SIGN),1)
|
|
@echo "Sign the modules!"
|
|
/usr/lib/linux@KERNEL_TYPE@-kbuild-*/scripts/sign-file sha256 $(privkey) $(pubkey) \
|
|
./debian/$(pkg_name)/lib/modules/$(kversion)/extra/$(kmod_name)-$(bundle_version)/$(kmod_name).ko
|
|
endif
|
|
|
|
override_dh_auto_build:
|
|
dh_auto_build -D ./src
|