So you have a distro configuration overriding a machine defined provider - I 
did not see that coming, thanks for pointing that out. It seems to be of 
version 2017.3:


martin@dell:~/work/petalinux/build$ ll tmp/deploy/images/zcu102-zynqmp/pmu-*
-rw-r--r-- 2 martin martin 129760 May 16 14:34 
tmp/deploy/images/zcu102-zynqmp/pmu-firmware--v2017.3+gitAUTOINC+3c9f0cfde9-r0-zcu102-zynqmp-20180516122848.bin
-rw-r--r-- 2 martin martin 155572 May 16 14:34 
tmp/deploy/images/zcu102-zynqmp/pmu-firmware--v2017.3+gitAUTOINC+3c9f0cfde9-r0-zcu102-zynqmp-20180516122848.elf
lrwxrwxrwx 2 martin martin     30 May 16 14:34 
tmp/deploy/images/zcu102-zynqmp/pmu-firmware-zcu102-zynqmp.bin -> 
pmu-firmware-zcu102-zynqmp.bin
lrwxrwxrwx 2 martin martin     79 May 16 14:34 
tmp/deploy/images/zcu102-zynqmp/pmu-firmware-zcu102-zynqmp.elf -> 
pmu-firmware--v2017.3+gitAUTOINC+3c9f0cfde9-r0-zcu102-zynqmp-20180516122848.elf
lrwxrwxrwx 2 martin martin     30 May 16 14:34 
tmp/deploy/images/zcu102-zynqmp/pmu-firwmare-zcu102-zynqmp.elf -> 
pmu-firmware-zcu102-zynqmp.elf

, is that expected? I was expecting the same version, just build using 
different toolchains.

Br,
Martin

________________________________
From: Nathan Rossi <nat...@nathanrossi.com>
Sent: Wednesday, May 16, 2018 2:21:03 PM
To: Martin Siegumfeldt
Cc: meta-xilinx@yoctoproject.org
Subject: Re: [meta-xilinx] Provider of pmu-firmware [rel-v2018.1]

On 16 May 2018 at 22:01, Martin Siegumfeldt <m...@gomspace.com> wrote:
> Hi Nathan,
>
>
> ________________________________
> From: Nathan Rossi <nat...@nathanrossi.com>
> Sent: Wednesday, May 16, 2018 13:20
> To: Martin Siegumfeldt
> Cc: meta-xilinx@yoctoproject.org
> Subject: Re: [meta-xilinx] Provider of pmu-firmware [rel-v2018.1]
>
> On 16 May 2018 at 18:24, Martin Siegumfeldt <m...@gomspace.com> wrote:
>> Hi Nathan,
>>
>>
>> I don't quite follow you here - the PMU provider of zcu102 is:
>>
>>
>> martin@dell:~/work/petalinux/build$ cat
>> ../sources/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf |
>> grep PREFERRED_PROVIDER_virtual/pmu
>> PREFERRED_PROVIDER_virtual/pmu-firmware ?= "zynqmp-pmu-pmu-firmware"
>>
>> however, it is built using XSDK - from the compile log:
>>
>>
>> + eval xsct
>>
>> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/app.tcl
>> -ws
>>
>> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/build
>> -pname pmu-firmware -rp
>>
>> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/git
>> -do_compile 1
>
> You are looking in the wrong work directory for the meta-xilinx-bsp
> built pmu-firmware. It is under "zcu102_zynqmp-oe-elf" or likely in
> your setup "zcu102_zynqmp-xilinx-elf". Since the zynqmp-pmu extender
> has the target os as "elf" due to it being a baremetal build.
>
> e.g. work/zcu102_zynqmp-oe-elf/zynqmp-pmu-pmu-firmware/
>
> I am not considering log files but the terminal output:
>
> martin@dell:~/work/petalinux/build$ bitbake virtual/pmu-firmware -v | egrep
> -i xsct
> + echo cmd is: xsct
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/app.tcl
> -ws
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/build
> -pname pmu-firmware -rp
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/git
> -processor psu_pmu_0 -hdf
> /home/martin/work/petalinux/build/tmp/deploy/images/zcu102-zynqmp/Xilinx-zcu102-zynqmp.hdf
> -arch 32  -app "ZynqMP PMU Firmware"  -yamlconf
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/pmu-firmware.yaml
> cmd is: xsct
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/app.tcl
> -ws
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/build
> -pname pmu-firmware -rp
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/git
> -processor psu_pmu_0 -hdf
> /home/martin/work/petalinux/build/tmp/deploy/images/zcu102-zynqmp/Xilinx-zcu102-zynqmp.hdf
> -arch 32  -app "ZynqMP PMU Firmware"  -yamlconf
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/pmu-firmware.yaml
> + eval xsct
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/app.tcl
> -ws
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/build
> -pname pmu-firmware -rp
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/git
> -processor psu_pmu_0 -hdf
> /home/martin/work/petalinux/build/tmp/deploy/images/zcu102-zynqmp/Xilinx-zcu102-zynqmp.hdf
> -arch 32 -app "ZynqMP PMU Firmware" -yamlconf
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/pmu-firmware.yaml
> + xsct
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/app.tcl
> -ws
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/build
> -pname pmu-firmware -rp
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/git
> -processor psu_pmu_0 -hdf
> /home/martin/work/petalinux/build/tmp/deploy/images/zcu102-zynqmp/Xilinx-zcu102-zynqmp.hdf
> -arch 32 -app ZynqMP PMU Firmware -yamlconf
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/pmu-firmware.yaml
> XSCTHELPER INFO: Empty WorkSpace
> XSCTHELPER INFO: No BSP Configuration
> + eval xsct
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/app.tcl
> -ws
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/build
> -pname pmu-firmware -rp
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/git
> -do_compile 1
> + xsct
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/app.tcl
> -ws
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/build
> -pname pmu-firmware -rp
> /home/martin/work/petalinux/build/tmp/work/zcu102_zynqmp-xilinx-linux/pmu-firmware/2018.1+gitAUTOINC+aaa566bc3f-r0/git
> -do_compile 1
>
> with the provider:
>
> martin@dell:~/work/petalinux/build$ cat
> ../sources/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf |
> grep PREFERRED_PROVIDER_virtual/pmu
> PREFERRED_PROVIDER_virtual/pmu-firmware ?= "zynqmp-pmu-pmu-firmware"
>
> What puzzles me is that no matter the assignment of the provider, the
> following is returned by bitbake:
>
> martin@dell:~/work/petalinux/build$ bitbake -e | grep
> PREFERRED_PROVIDER_virtual/pmu
> # $PREFERRED_PROVIDER_virtual/pmu-firmware [2 operations]
> PREFERRED_PROVIDER_virtual/pmu-firmware="pmu-firmware"

So that is the cause of the issue your seeing. I'm not sure of your
exact setup, but given some of the output you have provided it looks
like you are using the "petalinux" distro from meta-petalinux
alongside the meta-xilinx-tools.

If you are, be aware that the petalinux distro overrides the value for
virtual/pmu-firmware with a "=" setting.

https://github.com/Xilinx/meta-petalinux/blob/rel-v2018.1/conf/distro/include/petalinux-features.conf#L32

You will need to set the value after the distro include (which is not
easy since local.conf and machine.conf are included before
distro.conf). Something like the following (you can use other
overrides too) should take precedence over the distro's immediate
setting.

PREFERRED_PROVIDER_virtual/pmu-firmware_forcevariable = "..."

Use the -e | grep, to check that it applies though. Also the info
between "# $PREFERRED..." and "PREFERRED..." in the -e output can be
useful for debugging what is setting the value and where.

Regards,
Nathan

>
> I don't completely understand your concept here, is this the issue or
> expected?
>
>>
>> martin@dell:~/work/petalinux/build$ ll
>> tmp/deploy/images/zcu102-zynqmp/pmu-*
>> -rw-r--r-- 2 martin martin 116744 May 15 10:31
>>
>> tmp/deploy/images/zcu102-zynqmp/pmu-firmware-2018.1+gitAUTOINC+aaa566bc3f-r0-zcu102-zynqmp-20180515083059.elf
>> lrwxrwxrwx 2 martin martin     77 May 15 10:31
>> tmp/deploy/images/zcu102-zynqmp/pmu-firmware-zcu102-zynqmp.elf ->
>>
>> pmu-firmware-2018.1+gitAUTOINC+aaa566bc3f-r0-zcu102-zynqmp-20180515083059.elf
>> lrwxrwxrwx 2 martin martin     30 May 15 10:31
>> tmp/deploy/images/zcu102-zynqmp/pmu-zcu102-zynqmp.elf ->
>> pmu-firmware-zcu102-zynqmp.elf
>
> Unfortunately it is hard to know which provider these files come from
> since both recipes populate with the exact same naming. Maybe that
> needs some tweaking? Otherwise just confirm they are the ones you want
> by hashing them against the files in the work dir of the intended
> source (as above).
>
> Regards,
> Nathan
>
>>
>> Br,
>> Martin
>>
>>
>> ________________________________
>> From: Nathan Rossi <nat...@nathanrossi.com>
>> Sent: Tuesday, May 15, 2018 6:19:43 PM
>> To: Martin Siegumfeldt
>> Cc: meta-xilinx@yoctoproject.org
>> Subject: Re: [meta-xilinx] Provider of pmu-firmware [rel-v2018.1]
>>
>> On 15 May 2018 at 20:54, Martin Siegumfeldt <m...@gomspace.com> wrote:
>>> Hi,
>>>
>>> Based on
>>>
>>> https://github.com/Xilinx/meta-xilinx-tools/commit/a516c3a4a8b29e07233b5f2ecf91a2a3e63a1ff7
>>> I would like to switch from building the pmu-firmware using the XSDK
>>> (i.e.
>>> through meta-xilinx-tools) to the generated toolchain (i.e. through
>>> meta-xilinx). However the latter layer seems not (directly at least) to
>>> provide this:
>>>
>>> martin@dell:~/work/tmp/xilinx$ ack ^'PROVIDES = "virtual/pmu-firmware'
>>> meta-xilinx-tools/ meta-xilinx
>>> meta-xilinx-tools/recipes-bsp/pmu-firmware/pmu-firmware_git.bb
>>> 3:PROVIDES = "virtual/pmu-firmware"
>>>
>>> Inspecting
>>>
>>> https://github.com/Xilinx/meta-xilinx/blob/rel-v2018.1/meta-xilinx-bsp/recipes-bsp/pmu-firmware/pmu-firmware_2017.3.bb
>>>
>>> provides the following information:
>>>
>>> # force this recipe to provide a target virtual/pmu-firmware. this is
>>> applied
>>> # after any class extender mapping and results in this recipe always
>>> providing
>>> # 'virtual/pmu-firmware'.
>>> python append_target_provides () {
>>>     d.appendVar("PROVIDES", " virtual/pmu-firmware")
>>> }
>>
>> This is to work around the recipe only providing
>> "virtual/zynqmp-pmu-pmu-firmware" since the recipe is only valid for
>> the microblaze 'multilib'.
>>
>>>
>>> which is not exactly clear to me? In any case, the recipes are named the
>>> same and I don't see how to switch between the providers? I tried
>>> deleting
>>> 'meta-xilinx-tools/recipes-bsp/pmu-firmware/pmu-firmware_git.bb' after
>>> which
>>> the meta-xilinx variant seems to be built but does not boot.
>>>
>>> Am I missing something or is the provider concept broken/incomplete?
>>
>> The preferred provider selection should work, however due to the
>> naming of the recipes it might be a bit confusing.
>>
>> To use the pmu-firmware (aka zynqmp-pmu-pmu-firmware) built in oe via
>> the meta-xilinx-bsp pmu-firmware recipe you should set the provider
>> like so:
>>
>> PREFERRED_PROVIDER_virtual/pmu-firmware = "zynqmp-pmu-pmu-firmware"
>>
>> (like how the zcu102-zynqmp machine does
>>
>> https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf#L28)
>>
>> To use the pmu-firmware built using XSDK/xsct via the
>> meta-xilinx-tools pmu-firmware recipe you should set the provider like
>> so:
>>
>> PREFERRED_PROVIDER_virtual/pmu-firmware = "pmu-firmware"
>>
>> Regards,
>> Nathan
-- 
_______________________________________________
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to