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