Age | Commit message (Collapse) | Author |
|
GCC patch is applied as fix to avoid #ident and .sdata symbol/locations
issues when generating with debug symbols.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Update existing patches for GCC 7 (and use backports where available),
and drop merged patches whilst adding some additional patches to fix
specific bugs.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
These recipes were primarily kept to make the transition for ZynqMP from
Non PMU Firmware to PMU Firmware easier for users. However these
releases are now outdated (by at least a year) and users should have
already transitioned or sorted out a long term strategy if not.
This change also drops any patches that were only used/available for
these recipes.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Restrict binutils and gcc to their -cross variant only. This prevents
world targets from selecting zynqmp-pmu-gcc/binutils which require more
dependencies.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Make the pmu-firmware recipe provide a non-prefixed
virtual/pmu-firmware. Due to the common use of a class extender the
PROVIDES variable will be remapped with the 'zynqmp-pmu-' prefix. In
order to ensure the provider is always without a prefix modify the
PROVIDES after the recipe has been parsed (and any class extender
mapping is already processed).
Additionally set the zcu102-zynqmp machine to use the
virtual/pmu-firmware target and set the zynqmp-pmu-pmu-firmware recipe
as the default provider.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Emulation Platform is no longer required, MPSoC is in production
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Add a recipe that extracts the pmu-rom.elf from the PetaLinux ZCU102
BSP. This recipe cannot fetch the BSP, but uses the
xilinx-fetch-restricted class to handle error cases and providing
information on how to manually fetch.
This recipe is marked with the 'xilinx' license flag due to its use of
content that has licensing/legal requirements.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
This recipe was never updated when the rest of the configuration was
updated to be built for the PetaLinux v2016.3 BSP. This was due to
download access issues which were not resolved.
Instead of pointing at the old bitstream point at the download path on
Xilinx's servers which is restricted by account access, and using the
xilinx-fetch-restricted class to handle erroring properly and providing
user instructions for fetching the BSP file.
This recipe now also manually extracts the 'download.bit' from the BSP
and populates it into a package as well as the deploy directory.
The recipe is now marked with the 'xilinx' license flag due to its use
of content that has licensing/legal requirements.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
This class overrides the default fetch task available from base.bbclass.
This overridden task prevents the downloading from URLs that match
against the 'xilinx.com/member/forms/download' which require user
credentials and may require agreement with EULAs, licenses, export
compliance, etc.
The overridden task does however allow fetching from PREMIRRORs, which
allows for pre-downloaded content to be accessed in an automated way.
When attempting to fetch the non-accessible files the fetch task will
error and present the user with a message informing them that they need
to manually download the content and the url which to download the
content from.
The purpose of this is to reduce the reliance on manual documentation
and or processes which instruct users to complete manual steps which can
be error prone, ambiguous and or just tedious. This also aims to make
automation easier by allowing use of pre-downloaded content or user
PREMIRRORs to access downloads.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
This paragraph documents the existence of recipes that rely on closed or
otherwise restricted source content that can be used to compile images
for targets.
The content has specific licensing and legal requirements that are
outside the ability or sanity of enforcement in OpenEmbedded or Yocto
and as such is up to each individual user to review and comply with.
This might include EULA, Export Compliance, NDAs, Redistribution, etc.
Generally speaking this content is going to be protected by Xilinx's web
download service which requires an account.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Update the patches that we are holding in Yocto to reflect the commits
that have been accepted by the mainline ATF project.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
When using multilib the MULTILIB_VARIANTS variable is populated, this
triggers differing code paths in certain recipes. These are not desired
for the firmware building, since they modify the install paths.
Also set the DEFAULTTUNE to avoid changes to BASELIB/baselib when
multilib is used, as it attempts to set BASELIB based on 'tune-*'
overrides.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Limit the appending/enabling of the zynqmp-pmu BBCLASSEXTEND to only
specific recipes which are used for the building of pmu-firmware. This
is just binutils, gcc, newlib, libgloss and pmu-firmware itself.
The limiting is done based on the BPN of the recipe, which is not
provided as an override so the conditional is tested with an inline
python function.
This change removes the need for the extender class to be enabled
globally which can conflict with certain recipes that were not written
to be extended by the BBCLASSEXTEND mechanism. This change also improves
the parse time avoiding the need to parse all recipes for both target
and zynqmp-pmu.
Add comment for the PACKAGE_EXTRA_ARCHS setting, so it is clear why it
is set.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
linux-yocto 4.1 is no longer available in oe-core, so drop the append.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
The SPL based flow needs a raw firmware image instead of an ELF executable. Though
probably any objcopy version can perform this, it's better to have the actual
microblaze tool do the conversion, hence its inclusion in this recipe.
With this addition, it is possible to create a bootloader for the zynqmp
platforms based op opensource tools.
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
This error is received while building
services/std_svc/psci/psci_common.c: In function 'psci_do_state_coordination':
services/std_svc/psci/psci_common.c:220:27: error: array subscript is above
array bounds [-Werror=array-bounds]
psci_req_local_pwr_states[pwrlvl - 1][cpu_idx] = req_pwr_state;
Patch 555ebb34db8f3424c1b394df2f10ecf9c1f70901 explains why the error
is seen and supposibly includes a fix. As the fix appears not to work,
let's disable the error checking.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Backport a mainline ATF patch to the Xilinx tree in order to fix the ATF
build.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
This has changed in the meta layer and breaks the build, as it appears
it is no longer required just remove it.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
This patch is no longer required, the behaviour has been resolved.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Remove the glibc 2.25 appends for MicroBlaze, glibc does not require any
additional patches for MicroBlaze since 2.26. The pt-vfork issue was
resolved in glibc 2.26.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
MALI kernel sources seems to have been moved, update recipe to download
source from a new location
Signed-off-by: Bhargava Sreekantappa Gayathri <bhargava.sreekantappa-gayathri@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
|
|
These versions of the MicroBlaze CPU are now considerably outdated and
were obsoleted in 2012. Additionally they were only available with the
big endian configuration. Remove the v7.30 tune feature.
The s3adsp1800-qemu-microblazeeb machine emulates a v7.10.d cpu version,
however QEMU does not limit the CPU being emulated and provides all CPU
instructions and features that are available, so build targeting v8.00
instead.
Also fix up the version formatting generated by
microblaze_current_version.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
The endianess of a specific architecture could be either big or little,
there is not a third value, so let it default to be little endian, and
get rid of the tune feature 'little-endian' which is redundant to be
there, also change tune feature 'big-endian' to 'bigendian'.
With these changes, it will behave same with all other architectures in
openembedded-core layer.
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
There is differences in the value of *_load_address environment
variables between U-Boot versions (u-boot/u-boot-xlnx) as well as any
environment stored in spi flash. Instead of relying on correct
configuration being set, set the expected values in uEnv.txt to avoid
issues.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Change the device tree for the gem0 phy to match that of the kernel
device tree for ZYBO. This removes the compatible string and uses the
phy address of 0 (broadcast). This lets the kernel auto detect the phy
since there are no other devices on the MDIO bus for gem0.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Re-enable the 'qemuboot' image class which is used to generate
qemuboot.conf for the ep108-zynqmp machine. This used to be set by
machine-xilinx-qemu.inc but as of the 'qemuboot-xilinx.bbclass: Rework
qemu-xilinx setup' commit is no longer set by default. The same commit
setup other machines to use the 'qemuboot' image class directly but
skipped this machine.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
PACKAGE_ARCH = "${MACHINE_ARCH}" is defined in u-boot.inc. Remove the
package arch here to be consistent with upstream
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Change the dependency to virtual/libx11
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Remove the version pinning to the older kernel, u-boot and
arm-trusted-firmware versions. These versions are now functional as
pmu-firmware can be built and executed for the zcu102 physical hardware
as well as within QEMU.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Setup the qemuboot variables and qemu-xilinx-helper-native environment
to use the multiarch script to start a QEMU multiarch instance with the
MicroBlaze PMU.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Some distro's set the value of QEMU_TARGETS with the '?=' operator, this
takes precedence over value being set in qemu-xilinx. This is
problematic as this can remove the MicroBlaze or AArch targets that are
used.
An example of a distro that sets this is poky.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
This recipe provides a helper script which is executed instead of the
main qemu-system-aarch64 binary. This script is used to configure a
multiarch QEMU setup where a MicroBlaze PMU instance is running along
side the ZynqMP AArch64 instance.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Add a README for QEMU documentation and specifically add information
about the PMU ROM requirements for QEMU with ZynqMP/ZCU102. This details
the reason for the PMU Firmware + PMU ROM requirement as well as
documentation and link to get the PMU ROM in order to boot a ZCU102 QEMU
with runqemu.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Deploy the MULTI_ARCH specific device trees for use with QEMU.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Enable the building of 'zynqmp-pmu' recipes, and setup the pmu-firmware
to be built for the image.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
This class is an extender class similar to native/nativesdk/multilib
that should be used with BBCLASSEXTEND.
The purpose of this class is to allow the building of recipes for the
ZynqMP PMU architecture along side building for the primary APU of the
ZynqMP. Which allows for building the PMU firmware itself as well as its
dependencies (e.g. newlib, libgloss).
This class is intended for use with binutils-cross, gcc-cross, newlib,
libgloss and pmu-firmware, but can be used globally. However there are
limitations of this class and functional behaviour beyond the intended
targets is not tested.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
Create a recipe for the PMU firmware for the ZynqMP PMU. This firmware
is provided by the embeddedsw repo, and specifically uses the
'zynqmp_pmufw' application of the repo.
This build requires a MicroBlaze compiler with newlib, libgloss and
libgcc.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
Add a recipe for libgloss 2.5.0. This library is used to provide startup
code, and IO for baremetal targets. This is used by newlib to provide a
functional libc.
This library is used by the Xilinx standalone libraries/applications.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
Add a recipe for newlib version 2.5.0 which provides a libc for embedded
targets. Specifically this is required for building programs using the
Xilinx standalone drivers/applications.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Tested-by: Koteswararao Nayudu <kotin@xilinx.com>
|
|
xserver-xorg-extension-glx is a software support, the performance is not
validate on Xilinx platform. Instead convert application to depend on
egl/gles1/gles2. MALI400 provides the required hardware acceleration
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Remove mali as machine feature. This is not required, any dependencies
on mali userspace libraries should be resolved through gles1/gles2/egl
preffered provider. for ex:
PREFERRED_PROVIDER_virtual/libgles1_zynqmp = "libmali-xlnx"
PREFERRED_PROVIDER_virtual/libgles2_zynqmp = "libmali-xlnx"
PREFERRED_PROVIDER_virtual/egl_zynqmp = "libmali-xlnx"
MALI userspace libraries inturn should depends on out-of-tree mali
kernel module.
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
This patch modifies the deployed content to use versioned image
names,while retaining unversioned symlinks.
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Make arm-trusted-firmware machine independent
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Simplify the functions used to generate the TUNE_CCARGS and PKGARCH
version strings.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
With Xilinx MicroBlaze v8.30 a configuration issue requires that the
'pattern-compare' feature is enable for the 'reorder' feature to be
correctly functional. Previously the MicroBlaze tune setup would assume
that 'pattern-compare' was available even when it may not actually be,
and would force enable the 'pattern-compare' feature automatically. This
behaviour is prone to issues and may emit broken binaries for a target
when the user was not aware or expected that there target CPU was
broken.
This change inverts the behaviour such that instead of implicitly
enabling the 'pattern-compare' feature it instead does not enable
generation of reorder instructions for the compiler by setting
'-mno-xl-reorder' in the same way as the case that the target does not
have the feature enabled.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Enable all of the available kernel device trees for the zcu102. This
includes the 'zcu102-zynqmp.dtb'.
The 'revB' device tree is kept as the first entry due to its use for
QEMU.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Tested-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Update the zynqmp config fragments, adding new drivers available in
linux-xlnx as well as some mainline available drivers.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Update the zynq7 fragments to include new configs available in
linux-xlnx and mainline kernels.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Change the microzed-zynq7, picozed-zynq7 and zybo-zynq7 machines to use
the mainline U-Boot by default.
All these machines can be supported by the mainline U-Boot and do not
require any of the drivers/features that are only provided in the Xilinx
vendor tree (u-boot-xlnx).
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Update kernel-module-mali to r7p0 version
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
|