Hi Alejandro, Manjukumar,

On 11/12/18 23:06, Alejandro Enedino Hernandez Samaniego wrote:
> Hey Luca,
> 
> 
> On 12/11/2018 08:33 AM, Luca Ceresoli wrote:
>> Hi Manjukumar,
>>
>> On 11/12/18 17:21, Manjukumar Harthikote Matha wrote:
>>> Hi Luca,
>>>
>>>> -----Original Message-----
>>>> From: Luca Ceresoli [mailto:l...@lucaceresoli.net]
>>>> Sent: Tuesday, December 11, 2018 8:15 AM
>>>> To: Manjukumar Harthikote Matha <manju...@xilinx.com>; Alejandro
>>>> Enedino
>>>> Hernandez Samaniego <aleja...@xilinx.com>; meta-xilinx@yoctoproject.org
>>>> Subject: Re: [meta-xilinx] [PATCH 7/9] pmu-firmware: Port
>>>> pmu-firmware recipe
>>>>
>>>> Hi Manjukumar,
>>>>
>>>> On 11/12/18 17:07, Manjukumar Harthikote Matha wrote:
>>>>> Hi Luca,
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: meta-xilinx-boun...@yoctoproject.org [mailto:meta-xilinx-
>>>>>> boun...@yoctoproject.org] On Behalf Of Luca Ceresoli
>>>>>> Sent: Tuesday, December 11, 2018 7:45 AM
>>>>>> To: Alejandro Enedino Hernandez Samaniego <aleja...@xilinx.com>;
>>>>>> meta- xil...@yoctoproject.org
>>>>>> Subject: Re: [meta-xilinx] [PATCH 7/9] pmu-firmware: Port
>>>>>> pmu-firmware recipe
>>>>>>
>>>>>> Hi Alejandro,
>>>>>>
>>>>>> On 06/12/18 22:56, Alejandro Enedino Hernandez Samaniego wrote:
>>>>>>> This patch ports the pmu-firmware recipe from meta-xilinx-bsp to be
>>>>>>> used with the standalone/baremetal toolchain and also upgrades it to
>>>>>>> the latest release at this point.
>>>>>>>
>>>>>>> The recipe was trimmed down, and a few changes had to be made to
>>>>>>> make it compatible with the baremetal layer, DEPENDS, pass include
>>>>>>> dir, license and such.
>>>>>>>
>>>>>>> Signed-off-by: Alejandro Enedino Hernandez Samaniego
>>>>>>> <aleja...@xilinx.com>
>>>>>>> Signed-off-by: Manjukumar Matha
>>>>>>> <manjukumar.harthikote-ma...@xilinx.com>
>>>>>> I tried to test your entire patch series but with bad luck. Well,
>>>>>> indeed I tested the patches from the github meta-xilinx repo up to
>>>>>> [0], not sure whether the repo is more up to date than the patches
>>>>>> here.
>>>>>>
>>>>>> The first issue is that xilinx-standalone is compatible with thud,
>>>>>> but on the mentioned commit (as well as on master) the
>>>>>> mete-xilinx-bsp layer is compatible with sumo only. I solved by
>>>>>> cherry-picking [1].
>>>>>>
>>>>>> Then I followed the instructions in README.md and 'bitbake newlib'
>>>>>> ran
>>>> successfully.
>>>>>> But 'bitbake pmu-firmware' gives:
>>>>>>
>>>>>> microblazeel-xilinx-elf-gcc  -mlittle-endian -mxl-barrel-shift
>>>>>> -mxl-pattern-compare  - mno-xl-reorder -mcpu=v9.2 -mxl-soft-mul
>>>>>> -mxl-soft-div --
>>>>>> sysroot=/home/ceresoli/temp/prova-thud-
>>>>>> xilinx/poky/build/tmp/work/microblazeel-v9.2-bs-cmp-xilinx-elf/pmu-
>>>>>> firmware/v2018.2+gitAUTOINC+0c6cd096c8-r0/recipe-sysroot
>>>>>> -o executable.elf  pm_master.o  pm_api.o  xpfw_error_manager.o
>>>>>> xpfw_restart.o pm_config.o  xpfw_mod_legacy.o  pm_requirement.o
>>>>>> pm_node_reset.o  pm_core.o pm_system.o  pm_common.o  xpfw_xpu.o
>>>>>> pm_gic_proxy.o  xpfw_aib.o xpfw_events.o  pm_binding.o
>>>>>> pm_mmio_access.o  xpfw_scheduler.o  pm_slave.o xpfw_mod_pm.o
>>>>>> pm_ddr.o pm_qspi.o  pm_sram.o  xpfw_mod_sched.o xpfw_mod_rtc.o
>>>>>> pm_usb.o pm_extern.o  xpfw_user_startup.o xpfw_rom_interface.o
>>>>>> xpfw_mod_wdt.o pm_proc.o  pm_reset.o  pm_callbacks.o xpfw_mod_stl.o
>>>>>> idle_hooks.o xpfw_crc.o  xpfw_ipi_manager.o  xpfw_interrupts.o
>>>>>> xpfw_mod_dap.o xpfw_platform.o  pm_node.o  xpfw_core.o  xpfw_resets.o
>>>>>> xpfw_module.o pm_periph.o  xpfw_util.o  xpfw_main.o  pm_hooks.o
>>>>>> pm_gpp.o pm_power.o xpfw_mod_em.o  pm_pll.o  pm_clock.o
>>>>>> pm_notifier.o  xpfw_start.o  - MMD -MP -Wl,--build-id=none
>>>>>> -I/home/ceresoli/temp/prova-thud-
>>>>>> xilinx/poky/build/tmp/work/microblazeel-v9.2-bs-cmp-xilinx-elf/pmu-
>>>>>> firmware/v2018.2+gitAUTOINC+0c6cd096c8-r0/recipe-sysroot/usr/include
>>>>>> -Os -Wl,--start-group,-lxil,-lgcc,-lc,--end-group
>>>>>> -Wl,--start-group,-lxilfpga,-lxilsecure,-lxil,-lgcc,-lc,--end-group
>>>>>> -nostartfiles -Wl,--gc-sections
>>>>>> -L../misc/zynqmp_pmufw_bsp/psu_pmu_0/lib
>>>>>> -Tlscript.ld
>>>>>> lto1: fatal error: multiple prevailing defs for 'XUsbPsu_DisableIntr'
>>>>>> compilation terminated.
>>>>>> lto-wrapper: fatal error: microblazeel-xilinx-elf-gcc returned 1 exit
>>>>>> status compilation terminated.
>>>>>> /home/ceresoli/temp/prova-thud-xilinx/poky/build/tmp/work/microblazee
>>>>>> l-v9.2-bs-
>>>>>> cmp-xilinx-elf/pmu-firmware/v2018.2+gitAUTOINC+0c6cd096c8-r0/recipe-s
>>>>>> ysroot-
>>>>>> native/usr/bin/microblazeel-xilinx-elf/../../libexec/microblazeel-xil
>>>>>> inx-
>>>>>> elf/gcc/microblazeel-xilinx-elf/8.2.0/ld:
>>>>>> error: lto-wrapper failed
>>>>>> collect2: error: ld returned 1 exit status
>>>>>> Makefile:28: recipe for target 'executable.elf' failed
>>>>>> make: *** [executable.elf] Error 1
>>>>>>
>>>>>> I then tried with current master-next [2] and got:
>>>>>>
>>>>>> microblazeel-xilinx-elf-gcc  -mlittle-endian -mxl-barrel-shift
>>>>>> -mxl-pattern-compare  - mno-xl-reorder -mcpu=v9.2 -mxl-soft-mul
>>>>>> -mxl-soft-div --
>>>>>> sysroot=/home/ceresoli/temp/prova-thud-
>>>>>> xilinx/poky/build/tmp/work/microblazeel-v9.2-bs-cmp-xilinx-elf/pmu-
>>>>>> firmware/v2018.3+gitAUTOINC+56f3da2afb-r0/recipe-sysroot
>>>>>> -o executable.elf  pm_master.o  xpfw_error_manager.o  xpfw_restart.o
>>>>>> pm_notifier.o  xpfw_mod_legacy.o  pm_requirement.o  pm_node_reset.o
>>>>>> pm_core.o  pm_system.o  pm_config.o  xpfw_xpu.o  pm_gic_proxy.o
>>>>>> xpfw_aib.o xpfw_events.o  pm_binding.o  pm_mmio_access.o
>>>>>> xpfw_scheduler.o  pm_slave.o pm_pinctrl.o  xpfw_mod_pm.o  pm_ddr.o
>>>>>> pm_qspi.o  pm_sram.o xpfw_mod_sched.o  xpfw_mod_rtc.o  pm_usb.o
>>>>>> pm_extern.o  xpfw_user_startup.o xpfw_rom_interface.o  xpfw_mod_wdt.o
>>>>>> pm_proc.o  pm_reset.o  pm_callbacks.o xpfw_mod_stl.o  idle_hooks.o
>>>>>> xpfw_crc.o  xpfw_ipi_manager.o  xpfw_interrupts.o xpfw_mod_dap.o
>>>>>> xpfw_platform.o  pm_node.o  xpfw_core.o  xpfw_resets.o xpfw_module.o
>>>>>> pm_periph.o  xpfw_util.o  xpfw_main.o  pm_hooks.o  pm_gpp.o
>>>>>> pm_power.o xpfw_mod_em.o  pm_pll.o  pm_clock.o  xpfw_start.o  -MMD
>>>>>> -MP - Wl,--build-id=none -I/home/ceresoli/temp/prova-thud-
>>>>>> xilinx/poky/build/tmp/work/microblazeel-v9.2-bs-cmp-xilinx-elf/pmu-
>>>>>> firmware/v2018.3+gitAUTOINC+56f3da2afb-r0/recipe-sysroot/usr/include
>>>>>> -Os -Wl,--start-group,-lxil,-lgcc,-lc,--end-group
>>>>>> -Wl,--start-group,-lxilfpga,-lxilsecure,-lxilskey,-lxil,-lgcc,-lc,--e
>>>>>> nd-group -nostartfiles -Wl,--gc-sections
>>>>>> -L../misc/zynqmp_pmufw_bsp/psu_pmu_0/lib
>>>>>> -Tlscript.ld
>>>>>> /home/ceresoli/temp/prova-thud-xilinx/poky/build/tmp/work/microblazee
>>>>>> l-v9.2-bs-
>>>>>> cmp-xilinx-elf/pmu-firmware/v2018.3+gitAUTOINC+56f3da2afb-r0/recipe-s
>>>>>> ysroot-
>>>>>> native/usr/bin/microblazeel-xilinx-elf/../../lib/microblazeel-xilinx-
>>>>>> elf/gcc/../../../libexec/microblazeel-xilinx-elf/gcc/microblazeel-xilinx-elf/8.2.0/ld:
>>>>>>
>>>>>> cannot open linker script file xilinx.ld: No such file or directory
>>>>>> collect2: error: ld returned 1 exit status
>>>>>> lto-wrapper: fatal error: microblazeel-xilinx-elf-gcc returned 1 exit
>>>>>> status compilation terminated.
>>>>>> /home/ceresoli/temp/prova-thud-xilinx/poky/build/tmp/work/microblazee
>>>>>> l-v9.2-bs-
>>>>>> cmp-xilinx-elf/pmu-firmware/v2018.3+gitAUTOINC+56f3da2afb-r0/recipe-s
>>>>>> ysroot-
>>>>>> native/usr/bin/microblazeel-xilinx-elf/../../libexec/microblazeel-xil
>>>>>> inx-
>>>>>> elf/gcc/microblazeel-xilinx-elf/8.2.0/ld:
>>>>>> error: lto-wrapper failed
>>>>>> collect2: error: ld returned 1 exit status
>>>>>> Makefile:28: recipe for target 'executable.elf' failed
>>>>>>
>>>>>> Am I doing something wrong?
>>>>> I tried replicating the issue but I am unable to do so.
>>>>> Do you have pmu-firmware in a different tmp work directory?
>>>>>
>>>>> I have the following in my local.conf
>>>>> MACHINE="zynqmp-pmu"
>>>>> DISTRO="xilinx-standalone"
>>>>> GCCVERSION="7.%"
>>>>> TMPDIR="${TOPDIR}/pmutmp"
>>>>>
>>>>> And run as bitbake pmu-firmware
>>>> I'm not trying the multiconfig setup yet. I'm trying to set up the
>>>> standalone layer as
>>>> per its README.md and get a pmufw binary out of that.
>>>>
>>> This is not multiconfig, just regular build. Maybe GCCVERSION="7.%"
>>> is missing in your setup, we should add it to MACHINE and README as well
>> Good catch! Adding GCCVERSION="7.%" to conf/local.conf pmu-firmware
>> builds.
>>
>> Thanks for the very fast reply!
> Setting the GCCVERSION is a temporary fix, until GCC 8 works properly on
> microblaze, were just trying to get a little bit ahead, but yes, it is
> necessary for now

Ok, that's fine.

Would it be possible to add GCCVERSION="7.%" to some common conf file in
the xilinx-standalone layer, so it can be used alone to build just
pmu-firmware outside of any multiconfig setup?

And while at it, I'd also prepend a short comment like '# temporary fix
until GCC 8 works properly on microblaze'.

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

Reply via email to