Hmm, thanks for your input Nathan...

Br,

Martin

________________________________
From: Nathan Rossi <nat...@nathanrossi.com>
Sent: Wednesday, May 16, 2018 3:01:02 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:43, Martin Siegumfeldt <m...@gomspace.com> wrote:
> 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.

Thats expected, looks like Xilinx did not update it in their
rel-v2018.1 release version.

https://github.com/Xilinx/meta-xilinx/blob/rel-v2018.1/meta-xilinx-bsp/recipes-bsp/pmu-firmware/pmu-firmware_2017.3.bb

Regards,
Nathan

>
> 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