summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-standalone/conf/distro
Commit message (Collapse)AuthorAgeFilesLines
* xilinx-standalone: Fix invalid-packageconfig QA IssueSandeep Gundlupet Raju2023-08-031-0/+2
| | | | | | | | | | | | | | | libxil warnings are obversed in multiconfig builds. WARNING: mc:cortexa53-0-zynqmp-fsbl-baremetal:libxil-2023_sdt_experimental+gitAUTOINC+742a608800-r0 do_configure: QA Issue: libxil: invalid PACKAGECONFIG: rtc [invalid-packageconfig] WARNING: mc:cortexa53-0-zynqmp-fsbl-baremetal:libxil-2023_sdt_experimental+gitAUTOINC+742a608800-r0 do_configure: QA Issue: libxil: invalid PACKAGECONFIG: qemu-usermode [invalid-packageconfig] This is due to rtc and qemu-usermode was enabled for all targets in MACHINE_FEATURES_BACKFILL, Hence disable rtc and qemu-usermode for multiconfig targets by adding to MACHINE_FEATURES_BACKFILL_CONSIDERED list in inclusion file. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* xilinx-standalone.inc: Remove security_flags.incMark Hatle2023-04-131-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inclusion of security_flags.inc lead to a number of problems with the baremetal distributions: *ARM v8* aarch64-xilinx-elf-ld: testA53.elf: error: PHDR segment not covered by LOAD segment aarch64-xilinx-elf-ld: warning: testA53.elf has a LOAD segment with RWX permissions *ARM v7* arm-xilinx-eabi-ld: .../aarch32-xilinx-eabi/usr/lib/thumb/v7-a+fp/hard/crtbegin.o: relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC The configuration that works: export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types " export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types " export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now" export CPPFLAGS="" Configuration that provides the warnings/errors: export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types " export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types " export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed " export CPPFLAGS="" The LDFLAGS was introdued by the security_flags.inc, the SECURITY_CFLGAS:class-target ?= "" and SECURITY_LDFLAGS:class-target ?= "" was supposed to prevent this, however the cross compiler is built in the cross or canadian-cross or other context and NOT target. Additionally the SDK environment is configured in the nativesdk environment, so the default values may not match the configured (target) compiler and CFLAGS. Removing security_flags.inc resolves both of these issues, as the security flags don't really do anything on a baremetal configuration, by default, anyway. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* xilinx-standalone.inc: Further sync with upstream disro settingsMark Hatle2023-01-162-15/+4
| | | | | | | | | | | | | Many of the settings/workaround have been replaced by changes in the upstream OE-Core tclibc-newlib. Additionally adding the DISTROVERRIDES with an append was potentially changing -native recipes hashes. Move this only where needed to avoid this behavior. Also sync settings with meta-petalinux, such as the buildhistory. This is now moved to the local.conf file. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* xilinx-standalone.inc: Sync with poky distro settingsMark Hatle2023-01-161-0/+18
| | | | | | | | | | | | | | | | | Certain settings appear to have an overall affect on recipe hashes. Use petalinux (poky) distro as an example for base settings to ensure native items built in one config SHOULD also be re-usable in the bareemetal config. This has a side effect of NOT disabling static binaries in baremetal, but this seems like a reasonable default, since there really isn't a concept of dynamically loaded libraries. If necessary, the user can still override this, but will need to specifically select class-target to do so. Similarly SECURITY_CFLAGS and SECURITY_LDFLAGS are available by empty by default. The default cflags/ldflags for baremetal usage are likely different from a Linux system, so can be used in the future if requried. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
* xilinx-standalone.inc: Move to xlnx specific versions of libmetal and open-ampkirkstone-nextMark Hatle2022-10-191-2/+2
| | | | Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
* meta-xilinx-standalone: various fixes for override syntax changesMark Hatle2021-10-251-2/+2
| | | | Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* Convert to new override syntaxSai Hari Chandana Kalluri2021-09-282-7/+7
| | | | | | | | | | This is the result of automated script (0.9.0) conversion: oe-core/scripts/contrib/convert-overrides.py . converting the metadata to use ":" as the override character instead of "_". Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
* xilinx-standalone.inc: add PREFERRED_VERSION for open-amp in case of ↵Ben Levinsky2021-09-281-0/+1
| | | | | | | | | | | standalone target In case of open-amp, there are multiple version of open-amp. For case of standalone, specify usage of meta-standalone-experimental layer for BSP that is provided. Signed-off-by: Ben Levinsky <ben.levinsky@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xilinx-standalone.inc: add PREFERRED_VERSION for libmetal in case of ↵Ben Levinsky2021-09-281-0/+2
| | | | | | | | | | | standalone target In case of libmetal, there are multiple version of libmetal. For case of standalone, specify usage of meta-standalone-experimental layer for BSP that is provided. Signed-off-by: Ben Levinsky <ben.levinsky@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* distro: xilinx-standalone: Use Os option along with Link Time Optimization flagsAppana Durga Kedareswara rao2021-09-271-1/+1
| | | | | | | | Default Link Time Optimization flags should contain Os option along with flto and ffat-lto-objects flags to inline with the regular esw default compiler flags. Signed-off-by: Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
* xilinx-standalone.inc: Don't require uninativeMark Hatle2021-07-141-3/+0
| | | | | | | | If the distribution enables uninative, then in a multiconfig setting, all distributions must use AND configure uninative support. This is not desired and should only be enabled in the primary configuration. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* Reorganize the various layer componentsMark Hatle2021-07-141-9/+0
| | | | | | | | | | | | | | | | | | | | Machines: Move baremetal machines to meta-xilinx-standalone Layers: - Add new meta-xilinx-standalone-experimental This layer may require components that may not yet be available to the general public. It will contain various experiemntal integration work. - meta-xilinx-standalone This layer should be functional and contain the necessary items to build a baremetal toolchain that can use libxil (replacement to libgloss) from the Xilinx embeddedsw components. (Note, libxil is NOT built as part of this work!) The layer also contains the buildable components for the various firmware components required to startup various Xilinx FPGAs. Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
* xilinx-standalone.conf: Switch default from -Os to -O2Mark Hatle2020-07-081-1/+1
| | | | | | | | Based on performance measurements as well as recent presentations at ELC it is believed the correct default should always be -O2. -Os should only be selectively used per module instead of default. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* Define COMPATIBLE_HOST to prevent mix of Linux and Baremetal recipesMark Hatle2020-03-261-0/+7
| | | | | | | | | | | | | | | The key is using COMPATIBLE_HOST to declare, for each recipe, which OS they are compatible with. This is a regex, so we need to carefully specify the arch/vendor wild cardscomponents so that we match only the OS parts. In the distro configuration, default to the standard Linux HOST_SYS setting. In the various baremetal recipes (or esw class) set the specific compatibility to allow baremetal recipes to build. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* Revert "xlnx-compatible-os.bbclass: Class to allow recipes to list OS ↵Mark Hatle2020-03-261-2/+0
| | | | | | | | compatibility" This reverts commit 4f3edb6da405ffff957d6f194bc7db7bdd9f1463. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xilinx-standalone.conf: Add workaround for microblaze -Os bugMark Hatle2020-03-201-0/+3
| | | | Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* meta-xilinx-standalone: classes: Update CMAKE_SYSTEM_NAME for FreertosAnirudha Sarangi2020-03-161-0/+1
| | | | | | | | This patch updates the CMAKE_SYSTEM_NAME variable for freertos. Signed-off-by: Anirudha Sarangi <anirudha.sarangi@xilinx.com> Signed-off-by: Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* meta-xilinx-standalone: conf: distro: Add new distro for freertosAnirudha Sarangi2020-03-161-0/+8
| | | | | | | | | This patch adds new distro xilinx-freertos for compiling esw freertos use cases in yocto flow. Signed-off-by: Anirudha Sarangi <anirudha.sarangi@xilinx.com> Signed-off-by: Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xilinx-standalone.inc: Replace qemu dependency with mingw32 specific recipeMark Hatle2020-03-031-1/+2
| | | | | | | | | | | Commit fb62f071f94fc45444357865665fec6d4b11d1ca added a workaround for a mingw runtime issue, but did not label it as mingw32 specific. QEMU may cause failures in some non-linux configurations. Make this option mingw32 specific, and also avoid qemu making the dependency on the missing mingw32 component explicit. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xilinx-standalone: sync distrosMark Hatle2020-03-032-8/+8
| | | | | | | | Both xilinx-standalone (w/ lto) and xilinx-standalone-nolto need to use a common set of system settings. A few settings were missed in the merge of the decoupling work. Move these to the common settings file. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xlnx-compatible-os.bbclass: Class to allow recipes to list OS compatibilityMark Hatle2020-02-271-0/+8
| | | | | | | | | | | | | | | | | | Following the example of base.bbclass in OE-Core, a new COMPATIBLE_OS variable is defined. Similar to COMPATIBLE_MACHINE, it is a regex that can be used to declare TARGET_OS string compatibility on a per-recipe basis. Either the distro configuration or the recipes themselves will need to inherit this class. By default the class assumes we're building a Linux based system, and thus any recipe who has not declared compatibility is compatible with Linux. The default compatible field was copied from bitbake.conf to ensure there are no surprised. Additionally, enable the usage of this class throughout meta-xilinx-standalone layer. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xilinx-standalone: When building for cortexr5, add -DARMR5 for CCARGSMark Hatle2020-02-271-0/+3
| | | | | | | | The embeddedsw expects -DARMR5 when building for a cortexr5. Enable this globally within the distribution configuration. This ensures that the tunings remain generic. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xilinx-standalone: Add buildhistory to the DISTRO to avoid cooker errorsAlejandro Enedino Hernandez Samaniego2020-02-271-0/+2
| | | | | | | | | | | | | | | | There is a bug upstream, which explains this problem further [1], but basically when there are several multiconfigs they could be polluted with the events of each other, in this specific case, a multiconfig that uses the DISTRO=petalinux which itself inherits the buildhistory class will cause an error on the multiconfig that builds xilinx-standalone, while the correct fix is t fix this upstream I have not had the time to do that, and currently an easy and not very conflicting workaround is to simply inherit the builhistory class on the xilinx-standalone DISTRO as well. [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=13071 Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
* distr/xilinx-standalone: Switch default optimization from ESW to DistroMark Hatle2020-02-272-3/+3
| | | | | | | | | | | Instead of using ESW_CFLAGS for the optimization level, fall back to the default Yocto Project method of 'FULL_OPTIMIZATION' and 'SELECTED_OPTIMIZATION'. FULL_OPTIMIZATION is moved from -O2 to -Os, the other components retain the default Yocto Project setitng of '-pipe ${DEBUG_FLAGS}'. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* distro/xilinx-standalone: Make LTO optionalMark Hatle2020-02-273-12/+31
| | | | | | | | | | Some builds may require LTO, while others do not want it. The LTO components are only enabled when using the esw.bbclass and the xilinx-standalone distro. A second xilinx-standalone-nolto was added specifically to provide a default where LTO was disabled. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xilinx-standalone.conf: Adding qemu to TOOLCHAIN_HOST_TASKJaewon Lee2020-02-101-0/+2
| | | | | | | | | | | | | When running gcc built for xilinx-standalone using mingw sdk machine, it would throw an error saying the winpthread dll was missing. this is because in tclibc-newlib, TOOLCHAIN_HOST_TASK was being overwritten and omitting nativesdk-packagegroup-sdk-host which pulled in the appropriate package nativesdk-mingw-w64-winpthreads. Manually adding the following to TOOLCHAIN_HOST_TASK to bypass this issue: nativesdk-qemu-xilinx Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com> Signed-off-by: Alejandro Enedino Hernandez Samaniegoi <alejandr@xilinx.com>
* Enable multilib baremetal toolchainsMark Hatle2020-01-311-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Distro Changes: When building a multilib, we need to disable configsite cache. Otherwise the system will fail to generate the SDK as there are no configsite entries due to newlib based multilibs. Recipe Changes: gcc - globally disable multilib configuration - Disable Linux specific configurations (EXTRACONFFUNCS) gcc-cross-canadian - enable multilib on a recipe specific basis libgcc - add a noop override to do_multilib_install to avoid Linux specific multilib processing newlib - arm/v6+m/nofp and arm/v8-m.base/nofp do not have newlib trap implementations. libgloss contains these, workaround by disabling builtin trap syscall handler. - misc workarounds for multilib installs libgloss - Allow MLPREFIX for newlib dependencies meta-toolchain - adjust to install only the items we want/need packagegroup-newlib-standalone-sdk-target - new pkggroup for the custom baremetal SDK to select the right set of packages Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
* xilinx-standalone: Add staticdev packages for newlib and libgloss to ↵Alejandro Enedino Hernandez Samaniego2019-12-091-0/+3
| | | | | | | | | | | dependencies For the cross canadian toolchain we need to have both the libc.a and libgloss.a. We add them to the LIBC_DEPENDENCIES which are wired in core to be added to the sdk via the TOOLCHAIN_TARGET_TASK variable Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
* meta-xilinx-standalone: Create layer, distro and machine to build standalone ↵Alejandro Enedino Hernandez Samaniego2019-01-011-0/+13
components 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 <alejandr@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>