Re: [meta-xilinx] [PATCH 3/9] meta-xilinx-standalone: Create layer, distro and machine to build standalone components

2018-12-11 Thread Alejandro Enedino Hernandez Samaniego

Hey Luca,


On 12/11/2018 07:41 AM, Luca Ceresoli wrote:

Hi Alejandro,

On 06/12/18 22:56, Alejandro Enedino Hernandez Samaniego wrote:

This layer is meant to augment Yocto/OE functionality to provide a
toolchain to build standalone components for Xilinx architectures.

Signed-off-by: Alejandro Enedino Hernandez Samaniego 
Signed-off-by: Manjukumar Matha 
---
  meta-xilinx-standalone/README.md   | 56 ++
  .../conf/distro/xilinx-standalone.conf | 12 +
  meta-xilinx-standalone/conf/layer.conf | 14 ++
  .../conf/machine/zynqmp-pmu.conf   | 11 +
  4 files changed, 93 insertions(+)
  create mode 100644 meta-xilinx-standalone/README.md
  create mode 100644 meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
  create mode 100644 meta-xilinx-standalone/conf/layer.conf
  create mode 100644 meta-xilinx-standalone/conf/machine/zynqmp-pmu.conf

diff --git a/meta-xilinx-standalone/README.md b/meta-xilinx-standalone/README.md
new file mode 100644
index 000..da7f4e1
--- /dev/null
+++ b/meta-xilinx-standalone/README.md
@@ -0,0 +1,56 @@
+meta-xilinx-standalone
+=

Nitpick: there should be an extra '='.

[...]

+Dependencies
+
+
+This layer depends on:
+
+ URI: git://git.yoctoproject.org/poky
+
+ URI: git://git.yoctoproject.org/meta-xilinx

That's the repo, not the layer. Maybe clarify as:

   URI: git://git.yoctoproject.org/meta-xilinx -> meta-xilinx-bsp layer

True




+Usage
+=
+
+1.- Clone this layer along with the specified layers
+
+2.- $ source oe-init-build-env
+
+3.- Add this layer to BBLAYERS on conf/bblayers.conf
+
+4.- Add the following to your conf/local.conf to build for the microblaze 
architecture:
+
+DISTRO="xilinx-standalone"
+
+MACHINE="zynqmp-pmu"

To the best of my knowledge, to use U-Boot SPL people link the
pm_cfg_obj.c file in the pmufw binary and then patch the pmufw code to
load that config object instead of getting it via smc calls [0]. This
makes pmufw binary machine-specfic.

How do you think the same goal should be obtained with the new
"zynqmp-pmu" machine?
Unless I'm not understanding this correctly, using MACHINEOVERRIDES 
should do it

diff --git a/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf 
b/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
new file mode 100644
index 000..b90b113
--- /dev/null
+++ b/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
@@ -0,0 +1,12 @@
+DISTRO = "xilinx-standalone"
+DISTRO_NAME = "Xilinx Standalone Distro"
+DISTRO_VERSION = "1.0"
+TARGET_VENDOR = "-xilinx"
+
+TCLIBC = "newlib"
+TCLIBCAPPEND =""
+
+# Change SDK name
+SDK_VERSION = "xilinx-standalone"
+
+BB_DANGLINGAPPENDS_WARNONLY = "1"

Why?

Good catch, its no longer necessary



diff --git a/meta-xilinx-standalone/conf/machine/zynqmp-pmu.conf 
b/meta-xilinx-standalone/conf/machine/zynqmp-pmu.conf
new file mode 100644
index 000..2f692db
--- /dev/null
+++ b/meta-xilinx-standalone/conf/machine/zynqmp-pmu.conf
@@ -0,0 +1,11 @@
+DEFAULTTUNE ?= "microblaze"
+
+require conf/machine/include/microblaze/arch-microblaze.inc
+
+# Endianess, multiplier, barrel shift, pattern compare, floating point double 
or single, are the possibilities
+AVAILTUNES += "microblaze"
+TUNE_FEATURES_tune-microblaze = "microblaze v9.2 barrel-shift pattern-compare"

The above comment is not clear to a non-MB expert as I am. Does it refer
to AVAILTUNES or to TUNE_FEATURES? Also I'd put in the comment the
verbatim strings that can be put in variables, as in:

# TUNE_FEATURES can contain zero or more of:
# - multiplier
# - barrel-shift
# - pattern-compare
# - etc...

which is probably wrong, but should illustrate what I mean.


They're tightly coupled, so the comment is technically for both, so its 
for the TUNE_FEATURES, specifically for the AVAILTUNES microblaze.



[0]
https://github.com/topic-embedded-products/meta-topic/tree/master/recipes-bsp/pmu-firmware



--
___
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx


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

2018-12-11 Thread Alejandro Enedino Hernandez Samaniego

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 ; Alejandro Enedino
Hernandez Samaniego ; 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 ;
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

Signed-off-by: Manjukumar Matha


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

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

2018-12-11 Thread Manjukumar Harthikote Matha
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 ; 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
> > 
> > Signed-off-by: Manjukumar Matha
> > 
> 
> 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/microblazeel-v9.2-bs-
> cmp-xilinx-elf/pmu-firmware/v2018.2+gitAUTOINC+0c6cd096c8-r0/recipe-sysroot-
> native/usr/bin/microblazeel-xilinx-elf/../../libexec/microblazeel-xilinx-
> 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-

Re: [meta-xilinx] [PATCH 9/9] zynqmp-pmu: Remove class that uses a multilib hack to build standalone components

2018-12-11 Thread Alejandro Enedino Hernandez Samaniego

Hey Luca,


On 12/11/2018 07:45 AM, Luca Ceresoli wrote:

Hi Alejandro,

On 06/12/18 22:56, Alejandro Enedino Hernandez Samaniego wrote:

The zynqmp-pmu class was being used to build standalone components (PMU)
for several devices, with the introduction of the meta-xilinx-standalone
layer and the xilinx-standalone distro, this is not necessary anymore.

Signed-off-by: Alejandro Enedino Hernandez Samaniego 
Signed-off-by: Manjukumar Matha 

I appreciate the effort in building pmu-firmware without hacks! (even
though the alternative does not seem to come at a cheap cost)
Thanks!, sadly it does not, but I do believe that going in the right 
direction eventually pays off.


Alejandro



Reviewed-by: Luca Ceresoli 



--
___
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx


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

2018-12-11 Thread Manjukumar Harthikote Matha
Hi Luca,

> -Original Message-
> From: Luca Ceresoli [mailto:l...@lucaceresoli.net]
> Sent: Tuesday, December 11, 2018 8:15 AM
> To: Manjukumar Harthikote Matha ; Alejandro Enedino
> Hernandez Samaniego ; 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 ;
> >> 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
> >>> 
> >>> Signed-off-by: Manjukumar Matha
> >>> 
> >>
> >> 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
> 

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

2018-12-11 Thread Luca Ceresoli
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 ; Alejandro Enedino
>> Hernandez Samaniego ; 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 ;
 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
> 
> Signed-off-by: Manjukumar Matha
> 

 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

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

2018-12-11 Thread Luca Ceresoli
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 ; 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
>>> 
>>> Signed-off-by: Manjukumar Matha
>>> 
>>
>> 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/microblazeel-v9.2-bs-
>> cmp-xilinx-elf/pmu-firmware/v2018.2+gitAUTOINC+0c6cd096c8-r0/recipe-sysroot-
>> native/usr/bin/microblazeel-xilinx-elf/../../libexec/microblazeel-xilinx-
>> 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  p

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

2018-12-11 Thread Luca Ceresoli
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 
> Signed-off-by: Manjukumar Matha 

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/microblazeel-v9.2-bs-cmp-xilinx-elf/pmu-firmware/v2018.2+gitAUTOINC+0c6cd096c8-r0/recipe-sysroot-native/usr/bin/microblazeel-xilinx-elf/../../libexec/microblazeel-xilinx-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,--end-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/microblazeel-v9.2-bs-cmp-xilinx-elf/pmu-firmware/v2018.3+gitAUTOINC+56f3da2afb-r0/recipe-sysroot-native/usr/bin/microblazeel-xilinx-elf/../../lib/microblazeel-xilinx-elf/gcc/../../../libexec/microblazee

Re: [meta-xilinx] [PATCH 9/9] zynqmp-pmu: Remove class that uses a multilib hack to build standalone components

2018-12-11 Thread Luca Ceresoli
Hi Alejandro,

On 06/12/18 22:56, Alejandro Enedino Hernandez Samaniego wrote:
> The zynqmp-pmu class was being used to build standalone components (PMU)
> for several devices, with the introduction of the meta-xilinx-standalone
> layer and the xilinx-standalone distro, this is not necessary anymore.
> 
> Signed-off-by: Alejandro Enedino Hernandez Samaniego 
> Signed-off-by: Manjukumar Matha 

I appreciate the effort in building pmu-firmware without hacks! (even
though the alternative does not seem to come at a cheap cost)

Reviewed-by: Luca Ceresoli 

-- 
Luca
-- 
___
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx


Re: [meta-xilinx] [PATCH 5/9] libgloss: Copy libgloss as libxil to avoid linking issues

2018-12-11 Thread Luca Ceresoli
Hi Alejandro,

On 06/12/18 22:56, Alejandro Enedino Hernandez Samaniego wrote:
> Upstream gcc expects to have libxil available when linking, we can get
> the required symbols (weak) from libgloss.
> 
> We copy libgloss as libxil to comply with upstream behavior and avoid
> linking errors.

I suggest moving or copying this explanation...

> diff --git 
> a/meta-xilinx-standalone/recipes-standalone/newlib/libgloss_3.0.0.bbappend 
> b/meta-xilinx-standalone/recipes-standalone/newlib/libgloss_3.0.0.bbappend
> new file mode 100644
> index 000..c2af4f9
> --- /dev/null
> +++ b/meta-xilinx-standalone/recipes-standalone/newlib/libgloss_3.0.0.bbappend
> @@ -0,0 +1,4 @@
> +# We use libgloss as if it was libxil, to avoid linking issues

...here, so it is visible close to the code without need to dig in the
git archives.

> +do_install_append_zynqmp-pmu(){
> +  cp ${D}/${libdir}/libgloss.a ${D}/${libdir}/libxil.a

A symlink should be enough here.

-- 
Luca
-- 
___
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx


Re: [meta-xilinx] [PATCH 4/9] Adds gcc bbappend to fix configure options, and enable --sysroot behavior

2018-12-11 Thread Luca Ceresoli
Hi Alejandro,

On 06/12/18 22:56, Alejandro Enedino Hernandez Samaniego wrote:
> Signed-off-by: Alejandro Enedino Hernandez Samaniego 
> Signed-off-by: Manjukumar Matha 
> ---
>  .../recipes-standalone/gcc/gcc-cross_%.bbappend | 17 
> +
>  1 file changed, 17 insertions(+)
>  create mode 100644 
> meta-xilinx-standalone/recipes-standalone/gcc/gcc-cross_%.bbappend
> 
> diff --git 
> a/meta-xilinx-standalone/recipes-standalone/gcc/gcc-cross_%.bbappend 
> b/meta-xilinx-standalone/recipes-standalone/gcc/gcc-cross_%.bbappend
> new file mode 100644
> index 000..13ae02a
> --- /dev/null
> +++ b/meta-xilinx-standalone/recipes-standalone/gcc/gcc-cross_%.bbappend
> @@ -0,0 +1,17 @@
> +# By using tclibc-baremetal we loose sysroot functionality due to some 
> append/override behavior
> +# We need to get that back , the following append overrides everything on 
> EXTRA_OECONF for gcc cross target 
> +# it avoids overlapping with crt0 because of --enable-linker-id from 
> EXTRA_OECONF

I'm afraid I did not understand the problem, perhaps because I'm no
toolchain expert. Do you think there's a way to briefly clarify to
non-experts what issue is being fixed? It would be nice to have.

And, joining Jean-François in the nitpickers club... :)
Not sure what's the coding style convention in the Yocto world, but I'd
rather wrap lines at 80 chars and remove space-before-comma.

-- 
Luca
-- 
___
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx


Re: [meta-xilinx] [PATCH 3/9] meta-xilinx-standalone: Create layer, distro and machine to build standalone components

2018-12-11 Thread Luca Ceresoli
Hi Alejandro,

On 06/12/18 22:56, Alejandro Enedino Hernandez Samaniego wrote:
> This layer is meant to augment Yocto/OE functionality to provide a
> toolchain to build standalone components for Xilinx architectures.
> 
> Signed-off-by: Alejandro Enedino Hernandez Samaniego 
> Signed-off-by: Manjukumar Matha 
> ---
>  meta-xilinx-standalone/README.md   | 56 
> ++
>  .../conf/distro/xilinx-standalone.conf | 12 +
>  meta-xilinx-standalone/conf/layer.conf | 14 ++
>  .../conf/machine/zynqmp-pmu.conf   | 11 +
>  4 files changed, 93 insertions(+)
>  create mode 100644 meta-xilinx-standalone/README.md
>  create mode 100644 meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
>  create mode 100644 meta-xilinx-standalone/conf/layer.conf
>  create mode 100644 meta-xilinx-standalone/conf/machine/zynqmp-pmu.conf
> 
> diff --git a/meta-xilinx-standalone/README.md 
> b/meta-xilinx-standalone/README.md
> new file mode 100644
> index 000..da7f4e1
> --- /dev/null
> +++ b/meta-xilinx-standalone/README.md
> @@ -0,0 +1,56 @@
> +meta-xilinx-standalone
> +=

Nitpick: there should be an extra '='.

[...]
> +Dependencies
> +
> +
> +This layer depends on:
> +
> + URI: git://git.yoctoproject.org/poky
> +
> + URI: git://git.yoctoproject.org/meta-xilinx

That's the repo, not the layer. Maybe clarify as:

  URI: git://git.yoctoproject.org/meta-xilinx -> meta-xilinx-bsp layer

> +Usage
> +=
> +
> +1.- Clone this layer along with the specified layers
> +
> +2.- $ source oe-init-build-env
> +
> +3.- Add this layer to BBLAYERS on conf/bblayers.conf
> +
> +4.- Add the following to your conf/local.conf to build for the microblaze 
> architecture:
> +
> +DISTRO="xilinx-standalone"
> +
> +MACHINE="zynqmp-pmu"

To the best of my knowledge, to use U-Boot SPL people link the
pm_cfg_obj.c file in the pmufw binary and then patch the pmufw code to
load that config object instead of getting it via smc calls [0]. This
makes pmufw binary machine-specfic.

How do you think the same goal should be obtained with the new
"zynqmp-pmu" machine?

> diff --git a/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf 
> b/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
> new file mode 100644
> index 000..b90b113
> --- /dev/null
> +++ b/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
> @@ -0,0 +1,12 @@
> +DISTRO = "xilinx-standalone"
> +DISTRO_NAME = "Xilinx Standalone Distro"
> +DISTRO_VERSION = "1.0"
> +TARGET_VENDOR = "-xilinx"
> +
> +TCLIBC = "newlib"
> +TCLIBCAPPEND =""
> +
> +# Change SDK name
> +SDK_VERSION = "xilinx-standalone"
> +
> +BB_DANGLINGAPPENDS_WARNONLY = "1"

Why?

> diff --git a/meta-xilinx-standalone/conf/machine/zynqmp-pmu.conf 
> b/meta-xilinx-standalone/conf/machine/zynqmp-pmu.conf
> new file mode 100644
> index 000..2f692db
> --- /dev/null
> +++ b/meta-xilinx-standalone/conf/machine/zynqmp-pmu.conf
> @@ -0,0 +1,11 @@
> +DEFAULTTUNE ?= "microblaze"
> +
> +require conf/machine/include/microblaze/arch-microblaze.inc
> +
> +# Endianess, multiplier, barrel shift, pattern compare, floating point 
> double or single, are the possibilities
> +AVAILTUNES += "microblaze"
> +TUNE_FEATURES_tune-microblaze = "microblaze v9.2 barrel-shift 
> pattern-compare"

The above comment is not clear to a non-MB expert as I am. Does it refer
to AVAILTUNES or to TUNE_FEATURES? Also I'd put in the comment the
verbatim strings that can be put in variables, as in:

# TUNE_FEATURES can contain zero or more of:
# - multiplier
# - barrel-shift
# - pattern-compare
# - etc...

which is probably wrong, but should illustrate what I mean.


[0]
https://github.com/topic-embedded-products/meta-topic/tree/master/recipes-bsp/pmu-firmware

-- 
Luca
-- 
___
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx


Re: [meta-xilinx] [PATCH 2/9] newlib: Remove recipes because they are on oe-core

2018-12-11 Thread Luca Ceresoli
Hi Alejandro,

On 06/12/18 22:56, Alejandro Enedino Hernandez Samaniego wrote:
> Signed-off-by: Alejandro Enedino Hernandez Samaniego 
> Signed-off-by: Manjukumar Matha 

Reviewed-by: Luca Ceresoli 
Tested-by: Luca Ceresoli 

-- 
Luca
-- 
___
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx