[meta-xilinx] [PATCH 7/9] pmu-firmware: Port pmu-firmware recipe

Manjukumar Harthikote Matha MANJUKUM at xilinx.com
Tue Dec 11 08:21:21 PST 2018


Hi Luca,

> -----Original Message-----
> From: Luca Ceresoli [mailto:luca at lucaceresoli.net]
> Sent: Tuesday, December 11, 2018 8:15 AM
> To: Manjukumar Harthikote Matha <MANJUKUM at xilinx.com>; Alejandro Enedino
> Hernandez Samaniego <alejandr at xilinx.com>; meta-xilinx at 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-bounces at yoctoproject.org [mailto:meta-xilinx-
> >> bounces at yoctoproject.org] On Behalf Of Luca Ceresoli
> >> Sent: Tuesday, December 11, 2018 7:45 AM
> >> To: Alejandro Enedino Hernandez Samaniego <alejandr at xilinx.com>;
> >> meta- xilinx at 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
> >>> <alejandr at xilinx.com>
> >>> Signed-off-by: Manjukumar Matha
> >>> <manjukumar.harthikote-matha at 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

Thanks,
Manju


More information about the meta-xilinx mailing list