[Xenomai] Missing patch for Zynq
Gilles Chanteperdrix
gilles.chanteperdrix at xenomai.org
Tue Jun 17 10:34:15 CEST 2014
On 06/15/2014 04:31 PM, Konstantin Schauwecker wrote:
> Yes, that is what I was referring to. The mentioned patch
> ipipe-core-3.8.13-arm-1.patch
> does not exist in the xenomai 2.6.3 release, or in earlier releases. There is a different patch, labelled
> ipipe-core-3.8.13-arm-3.patch
> which does however not match the Xilinx kernel.
>
> I think its ok now. I manually merged the changes that couldn’t be applied automatically, which was a bit of work. It does compile and I hope that I didn’t make a mistake.
The I-pipe patches you can find in the Adeos project download area or
in Xenomai sources are patches for the mainline kernel. For people who
do not work with the mainline kernel, but with vendor forks, these
patches do not apply. You get conflicts because the I-pipe patch and
the vendor fork modified the same files.
Releasing an I-pipe patch adapted to each of these vendor forks would
mean that we would need to regenerate these patches when the I-pipe
patch evolves, or that the patches for vendor forks would bitrot
rapidly.
Instead, we use pre and post patches. The -pre patch restores the
conflicting files to the state of the mainline kernel, so that the
I-pipe patch applies. The -post patch merges correctly the mainline
changes with the vendor fork changes, and adds the support specific to
the vendor fork (in the case of Zynq, that would be the support for the
Zynq processor).
The advantage of -pre and -post patches is that in theory, we can
update the I-pipe patch without changing them.
Anyway, the main problem with the installation procedure documented in
the ksrc/arch/arm/README file is not the patch name, the problem is
that the commit given in the documentation
(6a0bedad60e2bca8d9b50bf81b9895e29e31a6d7) is based on a 3.8.0 kernel,
whereas the I-pipe patch is for Linux 3.8.13. However, the following
procedure seems to work without conflicts:
git clone git://github.com/Xilinx/linux-xlnx.git
cd linux-xlnx
git checkout 6a0bedad60e2bca8d9b50bf81b9895e29e31a6d7
git remote add stable git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
git fetch stable
git merge v3.8.13
(accept the merge commit)
patch -p1 < ../xenomai-2.6.3/ksrc/arch/arm/patches/zynq/ipipe-core-3.8-zynq-pre.patch
patch -p1 < ../xenomai-2.6.3/ksrc/arch/arm/patches/ipipe-core-3.8.13-arm-3.patch
patch -p1 < ../xenomai-2.6.3/ksrc/arch/arm/patches/zynq/ipipe-core-3.8-zynq-post.patch
--
Gilles.
More information about the Xenomai
mailing list