Repository navigation
Rebuild 8.3 drivers against v4.19.325-cip134 kernel. - #107
casasnovas wants to merge 1 commit into
Conversation
958851e to
6a25b37
Compare
This commit tracks each srpm change required to build the out-of-tree drivers supported on XCPNG 8.3 against the v4.19.325-cip134 kernel. Most of the changes are identical where the RPM package now depends on the xcpng-kernel-abi provided by the new kernel (to prevent their upgrade without also upgrading the kernel), though some drivers did require custom changes to their compat layer as the code was not expecting a v4.19 with potentially backports from more recent versions. Signed-off-by: Quentin Casasnovas <quentin.casasnovas@vates.tech>
6a25b37 to
9136b24
Compare
stormi
left a comment
There was a problem hiding this comment.
I only looked at the file list and a handful of specfile changes, no comments in particular to make on my side.
There was a problem hiding this comment.
This is in the commit description:
c368c4defa94 ("net: create netdev->dev_addr assignment helpers") in
v4.19.291 made the definition of eth_hw_addr_set redundant and leads to
build errors like:
In file included from /home/builder/rpmbuild/BUILD/atlantic-module-alt-2.5.12/aq_common.h:22:0,
from /home/builder/rpmbuild/BUILD/atlantic-module-alt-2.5.12/aq_nic.h:13,
from /home/builder/rpmbuild/BUILD/atlantic-module-alt-2.5.12/aq_nic.c:24:
/home/builder/rpmbuild/BUILD/atlantic-module-alt-2.5.12/aq_compat.h:306:20: error: redefinition of 'eth_hw_addr_set'
static inline void eth_hw_addr_set(struct net_device *dev, const u8 *addr)
^
In file included from /home/builder/rpmbuild/BUILD/atlantic-module-alt-2.5.12/aq_nic.c:12:0:
./include/linux/etherdevice.h:301:20: note: previous definition of 'eth_hw_addr_set' was here
static inline void eth_hw_addr_set(struct net_device *dev, const u8 *addr)
Sadly we can't just add another linux version check to enforce the
definition in the header file when < 4.19.291 because the SUBLEVEL version
is always zero on our XS-derived kernels, and the SUBLEVEL has been moved
to an non-exported STABLE_SUBLEVEL variable only visible from the top-level
linux kernel Makefile.
Did you miss it or is there anything not clear?
There was a problem hiding this comment.
Oh yes, sorry, I missed the commit, didn't see it.
Thanks it makes sense now.
It's really too bad we do the .0 thing with the sublevel value :(
Do you know why we/XS do this?
There was a problem hiding this comment.
I think this is to have only one kernel installed and accompanying modules in /lib/modules/4.19.0+/ as opposed to having to install kernel modules in multiple directories, given lack of dkms support.
There was a problem hiding this comment.
ah yes, and since kABI is supposed to be stable, you don't need a set of module per kernel installed.
Just one set of modules is enough
This commit tracks each srpm change required to build the out-of-tree drivers supported on XCPNG 8.3 against the v4.19.325-cip134 kernel.
Most of the changes are identical where the RPM package now depends on the
xcpng-kernel-abiprovided by the new kernel (to prevent their upgrade without also upgrading the kernel), though some drivers did require custom changes to their compat layer as the code was not expecting a v4.19 with potentially backports from more recent versions.This is to be reviewed alongside the kernel PR: xcp-ng-rpms/kernel#40
Note that a PR in each driver SRPM repository will be opened, but for simplicity of reviewing similar code changes, the changes can be first reviewed in group here.
All those drivers have been built on koji and are available on the
v8.3-u-qcasasnovas1user tag.