Age | Commit message (Collapse) | Author |
|
As discussed previously on mailing list, we are proceeding with layer
restructuring. For rocko release we will have the following layers
meta-xilinx
->meta-xilinx-bsp (current meta-xilinx)
->meta-xilinx-contrib
In the subsequent releases we will add other layers from Xilinx
meta-xilinx
->meta-xilinx-bsp (current meta-xilinx)
->meta-petalinux
->meta-xilinx-tools
->meta-xilinx-contrib
This will provide one clone to get all the required meta layers from
Xilinx for a complete solution, and the users can blacklist any layer
which they don't want to use using bblayer.conf.
This will enables us to help our vendors/partners to add their reference
designs, board definitions etc.
Recipe changes :
* Move reference design zybo-linux-bd.bb to meta-xilinx-contrib
* Move kernel patches realted to zybo-linux-bd-zynq7 board to
meta-xilinx-contrib
* Update README
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
With MicroBlaze v10.0 an additional AREA_OPTIMIZED value of 2 was added
named Frequency. This optimization adds additional pipeline stages, and
code can be optimized differently to achieve better tuned performance
for these targets.
The '-mxl-frequency' flag has been added to GCC (not in mainline) to
enable specific tune optimizations for CPUs configured this way.
Whilst this tune does not change any ABI the addition of the 'fo'
package arch flag is added to allow for building both target optimized
and un-optimized without mixing packages.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
As of v10.0 MicroBlaze is no longer configurable as a bigendian CPU.
This change prevents the ability to configure the tunes of a MicroBlaze
machine with v10.0 and bigendian.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
This change removes the use of the python function to expand the
TUNECONFLICTS definitions for version tunes. Instead this is replaced
with hardcoded definitions. This is preferred due to reduced complexity
of the python code as well as streamlining the include, this is also
done to make the includes align better with expectations of tune
includes in OE-Core.
This change also moves the version conflicts for the reorder tune into
arch-microblaze.
Additional documentation is added to cover details of MicroBlaze CPU
versions, and the change between different version formats.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Add virtual/boot-bin to EXTRA_IMAGEDEPENDS for all Zynq and ZynqMP
targets that use the deployed boot.bin from U-Boot.
Set the default provider for virtual/boot-bin to the current
virtual/bootloader provider. This handles the differing
u-boot/u-boot-xlnx defaults and also sets up the default provider for
consumers of machine-xilinx-default.inc.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Fix the issue while switching between different pmu-firmware providers
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
On ZU+ machines, we set the default tune for the lib32 multilib
configuration.This allows users to select multilib by simply requiring
conf/multilib.conf in their build setups.
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Tested-by: Bhargava Sreekantappa Gayathri <bhargava.sreekantappa-gayathri@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
KMACHINE is now set by the kernel recipe, this is due to different
kernels providing different kmeta sources which can provide one or more
different KMACHINEs for a specific machine.
Additionally linux-xlnx no longer uses KMACHINEs and is defaulted to
the linux-xlnx trees defconfigs.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Remove the version pinning for linux-xlnx, this allows for using the
newest version available without needing to change the include.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
This change reworks how the meta-xilinx layer enables and provides the
custom version of QEMU based on Xilinx's fork of QEMU. The existing
implementation relied on the single sysroot which was changed in oe-core
such that now recipes have their own sysroots (RSS support).
Additionally oe-core now provides the QEMU binaries to the runqemu
script via the 'qemu-helper-native' recipes sysroot as opposed to the
image sysroot.
These rework changes allow for a single machine to select the targeted
QEMU version as well as to provide the qemuboot config specific to the
targeted QEMU version. The selection of QEMU version is now handled by
PREFERRED_PROVIDER mechanics with the meta-xilinx layer providing an
additional recipe that is equivalent to qemu-helper-native and which
also provides said target allowing for the machine to select via the use
of PREFERRED_PROVIDER_qemu-helper-native. This recipe
(qemu-xilinx-helper-native) however instead provides the sysroot
populated with qemu-xilinx instead of qemu.
Additionally the XILINX_QEMUBOOT variable is replaced with the
qemuboot-xilinx.bbclass, this provides the overrides for setting up
qemu-xilinx specific QB_* args. Additionally this bbclass points runqemu
at the qemu-xilinx-helper-native sysroot for QEMU binaries.
These changes also work towards making the meta-xilinx layer better
handle multiple qemuboot.conf variants as well as handling different
QEMU versions.
This change also removes the 'qemu-system-xilinx' MACHINE_FEATURES, this
is due to MACHINE_FEATURES no longer being available for native recipes.
Additionally there is no longer any logic that needs to know this any
way.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Avoid using the MACHINE_DEVICETREE variable for detection of the device
tree that needs to be loaded. Instead only rely on IMAGE_BOOT_FILES or
KERNEL_DEVICETREE.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Use the newest available on targets that default to using linux-yocto.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
This change adds the 'arch-microblaze.inc' architecture tune features
include which provides all the relevant tune features for MicroBlaze.
This include replaces the 'tune-microblaze-features.inc' include, which
is not actually a valid TUNE. This change results in the MicroBlaze tune
and tune feature include tree matching the layout of meta/.
This change additionally consolidates all the smaller includes
(feature-microblaze-*.inc) into larger sets or into the
arch-microblaze.inc. This makes the package arch string ordering much
clearer as well as removing the large number of variables uses to set
the TUNE_CCARGS.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Clean up the MicroBlaze versions tunes as well and improve the
TUNECONFLICTS for version features so that the conflicts matrix is
automatically generated. Additionally consolidate the version features
into a single include.
Improve and generate the "-mcpu=" and package strings based on the
version feature.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Both u-boot-xlnx and u-boot (mainline) now agree on the name for the
output binary which includes the dtb. Additionally both versions load
'u-boot.img' from SPL. The UBOOT_OFEMBED variable and conditional value
setting are no longer needed.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Update the linux-xlnx recipe to point at the xilinx-v2016.4 release.
Note that this changes the naming convention for the .bb file, this has
no affect on the value of PV since it is specific in the recipe itself.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Currently the mainline QEMU is lacking full support for emulating the
ZCU102 board. So use the more functional Xilinx QEMU for this board.
Also reformat some of the appends to QB_* variables for clarity.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
This patch adds support to the general include file to boot Xilinx's
QEMU machines.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Add X org X server configurations, armsoc driver for zynqmp
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
The v4.4/xilinx-v2016.2 version of the linux-xlnx kenrel is dropped in
favour of the newer 4.6/xilinx-v2016.3 kernel.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Add v10.0 IP for microblaze
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
The u-boot-xlnx-dev version of u-boot is the same as u-boot-xlnx source,
it generates with OF_EMBED=y.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Move the common setup for QEMU machines into an include call
'machine-xilinx-qemu.inc'. This include is added to any machine that has
a QEMU model. It sets up common QB_* values as well as inheriting the
qemuboot class and adding the EXTRA_IMAGEDEPENDS on qemu-native.
This include also has helper functions to automatically determine the
DTB from KERNEL_DEVICETREE/MACHINE_DEVICETREE and automatically setup the
'console=' kernel command line based on SERIAL_CONSOLE.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Only recommend the kernel-module-mali if the kernel provider is
currently linux-xlnx and the current machine has the 'mali' feature.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Only recommend the kernel-module-mali if the kernel provider is
currently linux-xlnx. This is due to linux-xlnx providing the support
for this external module, other kernels such as linux-yocto do not
support it.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
The kernel module is named "kernel-module-mali", not "kernel-module-mali-modules"
Fix this in machine-xilinx-default.inc.
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Enable adding the MALI kernel module to the image for ZynqMP machines
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
The qemu-usermode machine feature enables the ability for using QEMU
linux-user during the host build. This allows for the distro feature
gobject-introspection-data to use linux-user mode of QEMU to generate
data. But this process is broken on MicroBlaze due to issues with glib
and the MicroBlaze toolchain. This change disables the use of QEMU
linux-user and is a workaround to avoid the execution of the
gobject-introspection-data process which is default enabled in commonly
used distros ('nodistro' and 'poky').
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
u-boot output is bin suffix format for KC705 microblaze
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Update to the latest v9.6 tune feature
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Default preferred version for Xilinx kernel is v4.4
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Handle the case where mainline u-boot does not default to having the
target device tree embedded into the u-boot ELF via OF_EMBED, which is
default for the u-boot-xlnx source tree. Select the UBOOT_BINARY value
based on the currently configured virtual/bootloader provider.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
* The device-tree recipe is not required for all machines or all boards,
remove the default append to allow each machine to add the dependency
when needed
* Add the 'device-tree' as a machine RDEPEND for all machines that use
the device-tree recipe to obtain the machines device tree output
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
* Move zynq7-base.dtsi out of conf/machine/boards and into the files/
directory of the device-tree recipe
* Also move the config from machine-xilinx-default.inc that includes the
dtsi for zynq targets
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Zynq-7000 devices support hard-float with thumb-2 instruction set.
Xilinx SDK toolchain with hard-float enabled will be available from
v2016.1 release. Hence the ABI needs to change to match the toolchain.
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
u-boot-xlnx 'xilinx-v2015.2' (fixed in newer versions) incorrectly sets
the SPL image to load as 'u-boot-dtb.img' despite the images being built
having embedded device trees (OF_EMBED=y). This change fixes this up so that
there are no hacks to the u-boot recipes and no overrides to use the
incorrectly named U-Boot image file.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|