| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
|
|
|
|
| |
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
compatibility"
This reverts commit 4f3edb6da405ffff957d6f194bc7db7bdd9f1463.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
| |
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
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>
|