Hi Nathan,

> -----Original Message-----
> From: Nathan Rossi [mailto:nat...@nathanrossi.com]
> Sent: Sunday, January 28, 2018 5:29 AM
> To: Manjukumar Harthikote Matha <manju...@xilinx.com>
> Cc: meta-xilinx@yoctoproject.org
> Subject: Re: [meta-xilinx] [meta-xilinx-bsp][PATCH v2 3/3] linux-xlnx.inc: 
> Support
> simpleImage.mb support for MB
> 
> On 23 January 2018 at 10:55, Manjukumar Matha <manjukumar.harthikote-
> ma...@xilinx.com> wrote:
> > Support simpleImage.mb for MB machines. simpleImage.mb depends on dts
> > to be included while kernel is being compiled. This patch enables
> > copying the dts from device-tree recipe to kernel work area so that
> > simpleImage.mb can be built
> >
> > Signed-off-by: Manjukumar Matha
> > <manjukumar.harthikote-ma...@xilinx.com>
> > ---
> >  meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc | 18
> > ++++++++++++++++++
> 
> This should be implemented in a kernel-simpleimage.bbclass, so that is can be 
> also
> used for linux-yocto and even contributed upstream (since powerpc also 
> supports
> simpleimage).
> 
> >  1 file changed, 18 insertions(+)
> >
> > diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
> > b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
> > index 7b4f9ac..e05890c 100644
> > --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
> > +++ b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
> > @@ -23,6 +23,24 @@ do_kernel_metadata_prepend () {
> >         [ -n "${KBUILD_DEFCONFIG}" ] && [ -e ${WORKDIR}/defconfig ] &&
> > rm ${WORKDIR}/defconfig  }
> >
> > +python __anonymous () {
> > +   kerneltypes = d.getVar('KERNEL_IMAGETYPES') or ""
> 
> This should take KERNEL_IMAGETYPE into account as well, in case a user only 
> wants
> simpleImage and is using the KERNEL_IMAGETYPE variable which should work.
> 
> Something like this gets a unique list to check against:
> 
> kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").strip()) kerneltypes |=
> set((d.getVar("KERNEL_IMAGETYPES") or "").split())
> 

Ok thanks,

> > +   if 'simpleImage.mb' in kerneltypes.split():
> 
> The simpleImage.<foo> targets can work for any dtb, this check can instead
> something like:
> 
> if any(t.startswith("simpleImage.") for t in kerneltypes):
> ...
> 
> Though you will need to update the copying steps below to handle multiple 
> dtbs.
> 
> > +      providerdtb = d.getVar("PREFERRED_PROVIDER_virtual/dtb") or ""
> > +      if providerdtb:
> 
> Its not worth doing this check, since "" is a valid provider which is used to
> automatically select based on available providers. And this will force 
> bitbake to fail if
> it cant find a provider which will list possible options/etc, and most 
> usefully why
> they were skipped.
> 
> > +         d.appendVarFlag('do_compile', 'depends', '
> virtual/dtb:do_populate_sysroot')
> > +      else:
> > +         bb.error("For MB dts/dtb provider needs to be set") }
> > +
> > +do_compile_prepend_microblaze () {
> > +       if (echo "${KERNEL_IMAGETYPES}" | grep -wq "simpleImage.mb");
> > +then
> 
> I would suggest doing this as a separate task that do_compile becomes 
> dependent
> on if simpleImage is enabled. That also means you can make the separate task
> dependent on the virtual/dtb instead of do_compile.
> Which might likely speed up some parallelism of tasks.
>

Ok agreed
 
> > +               install -d ${B}/arch/microblaze/boot/dts
> > +               cp ${RECIPE_SYSROOT}/boot/devicetree/*.dts
> > + ${B}/arch/microblaze/boot/dts/mb.dts
> 
> It is possible to build the simpleImage targets without needing the dts, 
> populating
> the <dt>.dtb into the build/..boot/dts/ directory and then calling the make
> simpleImage.<dt> target works as intended.
> 

I have to check this, every time I compiled using kernel Makefile it was 
checking for dts file to be present


> That also means you wont need the disassembled version of the dtb from device-
> tree.bb (thus making that patch unnecessary). And prevents any issues caused 
> by
> rebuilding the dtb (e.g. differing pad size).
> 

Thanks for the review!

Thanks,
Manju
-- 
_______________________________________________
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to