Age | Commit message (Collapse) | Author |
|
Add all the Xilinx patches for MicroBlaze, this includes a number of
bug fixes, testsuite fixes, feature improvements and additional feature
support.
Important changes:
* v10.0 - CPU support
* v10.0 - Bit-field instruction support
* v10.0 - 8-stage pipeline aka 'frequency' optimized
* Size optimized implementations for shift instructions
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Add all the Xilinx patches for MicroBlaze, this includes bug fixes,
testsuite fixes (and workarounds) as well as additional features.
A number of these changes are required to support additional Xilinx
patches for MicroBlaze GCC.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
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>
|
|
Update the device tree and machine configuration to match the updated
bitstream.
The bitstream was updated to v10.0 of the MicroBlaze core although
mainline GCC does not currently support v10.0+. Additionally the design
now enables divide-hard feature support. Memory and device addresses are
unchanged.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Update to the v2017.3 KC705 bitstream.
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>
|
|
Add back the PROVIDES for virtual/boot-bin and additionally improve the
logic that enables the provide so that U-Boot can be built without
providing virtual/boot-bin.
In order for the u-boot recipe to provide virtual/boot-bin for Zynq and
ZynqMP targets the selected provider for virtual/boot-bin must be the
current u-boot (e.g. u-boot or u-boot-xlnx) or the provider must be
unset. When u-boot provides virtual/boot-bin it is only enabling the
deployment of boot.bin. In cases where it is not the provider it
forcibly prevents the deployment of boot.bin. This ensures that the
platform-init files are still provided even if SPL is not used for the
boot.bin.
Additionally for ZynqMP if u-boot is not providing the boot.bin do not
depend on virtual/pmu-firmware. Since the boot.bin is what contains the
pmu binary.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
With these patches, top level component selection configuration can now
easily override u-boot-xlnx source repositories and branches.
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
This commit adds the ability to override SRC_URI components individually
via conf settings.
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Add DT_PADDING_SIZE variable which can override the default setting.
There are instances where it is necessary to change device tree padding
size.
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Provide a way to override device tree work directory and include file
directory, this might be particalarly helpful while using this recipes
in other layers, for example in meta-xilinx-tools to override workdir
and point it to dtg based build directory
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Merge all the inherit classes in a single line
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Rewire so that we can update the Xilinx QEMU devicetree release just
like other recipes
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Rewire so that we can update the Xilinx QEMU releases just like other
recipes
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Remove stale FILESEXTRAPATHS_prepend definition, this is not required
since we dont have any patches to hold under files directory.
Reviewed-by: Alistair Francis <alistair.francis@xilinx.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>
|
|
Add support for both mainline and Xilinx's QEMU.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Add support for both mainline and Xilinx's QEMU.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
This sets up the zcu102-zynqmp machine to by default generate a padded
SD card image for which runqemu can use to boot from. This image
includes all the components that are expected from to boot and mirrors
the same requirements that the real board has.
The QEMU args are changed to default to the SD boot mode and only U-Boot
SPL is passed in as a ROM image to boot the QEMU instance.
This setup mimics the boot flow of the physical target where the Boot
ROM loads U-Boot SPL and the PMU Firmware from the boot.bin.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Add a patch to fix the SD boot partition setup for QEMU targets such
that instead of QEMU being special it defaults to the same behaviour as
silicon/etc.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
This image types class add the conversion type 'qemu-sd' to pad target
images such that their size aligns with a 256K boundary. This is
required due to how QEMU emulates SD cards from block devices, since
QEMU truncates the size to match the 256K multiple of which SD cards
advertise
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
This is the default name that U-Boot SPL uses to load ATF from, so it
makes sense to deploy this by default instead of forcing all machines to
define IMAGE_BOOT_FILES with a rename.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
u-boot-spl.bin is used for runqemu execution since boot.bin has a header
it cannot be loaded such that the boot.bin image content is at its load
address.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Rework the do_compile from shell appends into a python task such that
special string content ('${..}' of u-boot environment vars) can be
handed cleanly.
Additionally rework some variables such that they can be overridden for
zynq/zynqmp specific values, as well as allowing custom overrides to
e.g. bootargs.
This also adds support for differing image load types include Image
(arm64), zImage, fitImage and the existing uImage. The u-boot cmd
(boot*) is automatically selected depending on the type of
KERNEL_IMAGETYPE.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
The linux-xlnx kernel no longer has a zynqmp-zcu102.dtb target, use the
zynqmp-zcu102-rev1.0.dtb target for the default device tree.
Drop the revB device tree, this is no longer required for QEMU and
production boards are rev 1.0.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Build the rev 1.0 version of U-Boot and setup the deployment of
boot.bin.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Update the arm-trusted-firmware, pmu-firmware, u-boot-xlnx, linux-xlnx,
qemu-xilinx and qemu-devicetrees recipes for to the 'xilinx-v2017.3'
release tags.
Drop/update existing patches where applicable.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Add support to provide the path of the PMU firmware to the U-Boot build
via the CONFIG_PMUFW_INIT_FILE config so that the binary can be embedded
into the boot.bin output where support is available (e.g. u-boot-xlnx).
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Change the include so that is adds a task for platform-init setup when
required. This avoids the need to modify the do_configure task which
prevents changes to its taskhash and avoids issues with taskhash
modification when the meta-xilinx layer is added but no configuration is
changed or used from it.
Improve the logic around how configs are detected such that
UBOOT_MACHINE can specify either the make target or the defconfig file
name (e.g. *_config or *_defconfig). U-Boot and u-boot.inc accept both
targets as valid configs since the values are passed directory to
U-Boot's kbuild/kconfig.
This change also drops compatibility with the older variable names
HAS_PS7INIT and FORCE_PS7INIT. Additionally the 'virtual/boot-bin'
provide logic was broken in most cases since SPL_BINARY =
"spl/boot.bin", so remove it.
Clean up use of tabs in python.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Setup COMPATIBLE_MACHINE for the device-tree recipe so that it is only
available to machines that have provided sources/device-trees.
The COMPATIBLE_MACHINE is defined by overrides to match any machine
('.*') which sets the targeted override. This allows for easy reuse of
sources across similar machines.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
After reworking the kmeta data based on kernel-cache merge, these
configurations are not valid anymore. Delete the error causing kernel
fargments.
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.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>
|
|
Populate any built dtb's into the sysroot so that other recipes can use
the output products.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
Update to use the v2017.3 ZCU102 BSP for pmu-rom binary.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
|
|
There are instances when serial console check if required to disable
consoles when it is not defined by SERIAL_CONSOLES.
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Runtime PM suspend "put" results in addition of PM suspend API in work
queue. This barrier API will remove it from the work queue.
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Drop patches for the linux-yocto 4.4 kernel. This version of linux-yocto
does not have upstream configuration for meta-xilinx targets and is
superseded by 4.9 and newer kernels.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
|
|
Consolidate the BSP specific configs for the ZYBO Linux-BD BSP.
Move Xilinx DRM fragment under bsp/xilinx/soc/drivers-drm, this fragment
is currently only useful for linux-xlnx targets.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.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>
|
|
This change reworks how the linux-xlnx kernel is configured, instead of
using kmeta fragments as the base config the kernel is instead
configured with defconfigs from the vendor tree. This has been the
default for zcu102-zynqmp and now extends to Zynq and MicroBlaze
targets.
Since linux-yocto.inc is still included by the linux-xlnx.inc, it is
possible to still use kmeta like .scc/.cfg fragments separately as well
as from a kmeta source. This is used by default to get the KC705 and
ZYBO Linux-BD kernel configuration fragments. Though fragments are
limited to the current in layer provided fragments by default.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Rework meta-xilinx specific appends for linux-yocto to configure
specific KMACHINE -> MACHINE pairs as well as setting up the
xilinx-kmeta directory for additional fragments.
Additionally pull out the MicroBlaze specific DEPENDS modificaation for
common use.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Collapse the existing xilinx-* kmeta directories into a single kmeta
directory.
At the same time remove all linux-xlnx specific kmeta, it is no longer
required as linux-xlnx is using defconfigs as baseline kernel
configuration.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
A large portion of the kmeta in xilinx-common and xilinx-machine was
upstreamed into the linux-yocto kernel-cache and is no longer needed in
the meta-xilinx layer.
This change removes any fragments that are in the yocto-kernel-cache,
and reworks remaining configs for use with linux-yocto. Compatibly with
linux-xlnx is dropped due to favouring defconfigs.
This includes Zynq and MicroBlaze machine configs (excluding kc705 and
Zybo Linux-BD BSP), board common bsp/ fragments and a number of feature
fragments that are already available in the yocto kernel cache.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
Add bc-native as build time dependency
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
OE-Core currently defaults to gnu-config_git which points at a
2015-07-28 revision. This includes the MicroBlaze patch.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
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>
|