Commit graph

117 commits

Author SHA1 Message Date
Heinrich Schuchardt
22c7b7d63b travis.yml: run Python tests on qemu-riscv64_defconfig
Run the Python tests on the RISC-V architecture too.

https://github.com/swarren/uboot-test-hooks has already been updated.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-08-02 11:29:38 -04:00
Simon Glass
53cd5d921d binman: Convert to use ArgumentParser
This class is the new way to handle arguments in Python. Convert binman
over to use it. At the same time, introduce commands so that we can
separate out the different parts of binman functionality.

Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-24 12:54:07 -07:00
Simon Glass
4997a7ed05 binman: Add a utility library for coreboot CBFS
Coreboot uses a simple flash-based filesystem called Coreboot Filesystem
(CBFS) to organise files used during boot. This allows files to be named
and their position in the flash to be set. It has special features for
dealing with x86 devices which typically memory-map their SPI flash to the
top of 32-bit address space and need a 'boot block' ending there.

Create a library to help create and read CBFS files. This includes a
writer class, a reader class and associated other helpers. Only a subset
of features are currently supported.

Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-24 12:53:46 -07:00
Simon Glass
8acce60b10 binman: Pass the toolpath to tests
Tools like ifwitool may not be available in the PATH, but are available in
the build. These tools may be needed by tests, so allow tests to use the
--toolpath flag.

Also use this flag with travis.

Signed-off-by: Simon Glass <sjg@chromium.org>
2019-07-24 12:53:44 -07:00
Tom Rini
0de8153564 Merge branch '2019-07-17-master-imports'
- Various FS/disk related fixes with security implications.
- Proper fix for the pci_ep test.
- Assorted bugfixes
- Some MediaTek updates.
- 'env erase' support.
2019-07-18 11:31:37 -04:00
Tom Rini
bf88d2b023 Revert "test: Disable pci_ep test for now"
We now have a proper fix for this test, stop disabling it in CI.

This reverts commit ae8d23a668.

Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-18 11:31:32 -04:00
Joel Stanley
51085bdb24 travis: Build aspeed board with qemu HEAD
In order to boot u-boot in the aspeed machine we need to run at least
qemu 3059c2f5a813 (v4.0.0-1592-g3059c2f5a813), which is not in a
released tag.

This should be changed to v4.1.0 when it is released.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-07-17 16:00:30 -04:00
Joel Stanley
998dc83adb travis: Add ASPEED ast2500 to qemu tests
Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-07-17 16:00:30 -04:00
Tom Rini
ae8d23a668 test: Disable pci_ep test for now
This test is currently broken so disable it for now.

Cc: Ramon Fried <ramon.fried@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-13 21:18:37 -04:00
Jagan Teki
cca4f576d0 travis.yml: Add pyelftools install entry
Currently rockchip platform is using explicit 'make u-boot.itb' for
building u-boot.itb but if we enable CONFIG_BUILD_TARGET as 'u-boot.itb'
then the resulting u-boot.itb directly will create by make.

But, that indeed make travis build fail since it require python-pyelftools
host package.

So add pyelftools install entry as 'pip install pyelftools', this would
create pyelftools on travis host which are required to build rk3399 itb.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2019-06-26 21:11:27 +08:00
Prabhakar Kushwaha
5845ac1271 travis.yml: Add buildman support for NXP's LS1028 & LX2160
NXP's LS1028 and LX2160 platform build support added via buildman
in travis.yml.

Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
2019-06-21 10:07:11 -04:00
Stefan Roese
b684d4031b arm: kirkwood: openrd: Mark openrd boards as maintained again
With the latest size increase of the openrd boards, they all compile
clean again. Let's mark them as maintained again and add the Travis
job.

Please note that I can only compile-test these targets as I don't
have access to one of those boards.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Albert ARIBAUD <albert-u-boot@aribaud.net>
Cc: Vagrant Cascadian <vagrant@debian.org>
Cc: Chris Packham <judge.packham@gmail.com>
Cc: Tom Rini <trini@konsulko.com>
2019-04-26 09:16:32 +02:00
Marek Vasut
aa2e9c9e80 travis: Add srecord package
At least MIPS Boston currently uses srec_cat tool to fiddle with
srecords. There will be other platforms coming, so install the
tool to prevent build problems.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Tom Rini <trini@konsulko.com>
2019-04-22 18:13:23 -04:00
Eugen Hristev
7252274978 travis-ci: fix at91 missing boards
Fix missing at91 boards and split the at91 in two categories:
at91 arm v7
at91 arm926esj
which are the two main cores for the at91 architecture.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-04-02 09:05:03 -04:00
Tom Rini
06d01e6601 travis: Exclude omap from the arm926ejs job
We build the platform here that matches with "omap" in its own job,
don't need to have it here as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2019-02-19 16:58:56 -05:00
Michal Simek
d9eaae3bae travis: Wire Xilinx Versal Virt platform
Test Xilinx Versal Virt platform running on the v3.1.0 Qemu.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-01-24 10:03:44 +01:00
Rick Chen
f715ed4591 .travis.yml: Support nds32 prebuilt toolchain
Download nds32 prebuild toolchain from github
which is base on gcc 8.0.1 version for regression.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
2019-01-22 17:35:47 +08:00
Michal Simek
facdc5fb83 travis: Switch QEMU to 3.1.0 version
Vexpress ca15_tc2 is failing with 3.1.0 because of QEMU issue.
When this patch is applied
https://patchwork.kernel.org/patch/10754401/
Vexpress can be also turn to newer QEMU version.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2019-01-18 13:40:34 -05:00
Michal Simek
984a1feb71 travis: Setup QEMU_VERSION as variable
This change enables setting up specific Qemu version or sha1 for new
targets which are added after (current) v3.0.0 version.
This changes is preparation step for adding new Xilinx Versal Virt
platform which was merge after v3.0.0.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2019-01-18 13:40:34 -05:00
Tom Rini
aa13261215 travis: Break up the NXP Layerscape jobs more
The single job for all Layerscape 10xx platforms is close to, and
sometimes exceeds the time limit for a single job configuration.  Break
this down into jobs for LS101x, LS104x and LS108x instead.  While in
here, in the name portion of these jobs, refer to them as NXP for ARM
and not Freescale as they've been NXP for quite some time.

Signed-off-by: Tom Rini <trini@konsulko.com>
2019-01-18 13:40:30 -05:00
Simon Glass
e9500f49ea travis: Use buildman for building with clang
Now that buildman supports clang, use it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2019-01-14 17:47:13 -07:00
Otavio Salvador
80870e2a66 tools: add a generic config for native tools building
The motivation for this is to allow distributions to distribute all
possible tools in a generic way, avoiding the need of specific tools
building for each machine.

Especially on OpenEmbedded / Yocto Project ecosystem, it is very
common each BSP to end providing their specific tools when they need
to generate images for some SoC (e.g MX23 / MX28 in meta-freescale
case).

Using this, we can package the tools doing:

$: make tools-only_defconfig
$: make tools-only

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
[trini: Add MAINTAINERS entry for myself, add to .travis.yml, make
U-Boot itself buildable to not trip up other frameworks]
Signed-off-by: Tom Rini <trini@konsulko.com>
2018-12-15 11:49:56 -05:00
Tom Rini
ee168783ae travis: Add check for configs without MAINTAINERS entries
The genboardscfg.py script will emit a WARNING message if we have new
defconfig files that are not listed in a MAINTAINERS file.  Make new
cases of this a failure we catch in Travis-CI.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-12-10 17:21:36 -05:00
Alexey Brodkin
f0d964f4db travis: Bump ARC tools to arc-2018.09
Build tested in Travis, see:
https://travis-ci.org/abrodkin/u-boot/jobs/462808237

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-12-07 08:13:49 -05:00
Tom Rini
f6206f8587 travis: Ensure we use pytest 2.8.7
The latest version of pytest (4.0.0) makes some of the code we have in
test/py/conftest.py a fatal error that needs to be migrated.
Unfortunately this in turn requires changes that don't exist in older
versions of pytest such as 2.8.7 that ships with Ubuntu 16.04.  Force
travis to use this older version of pytest.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-11-15 07:25:00 -05:00
Tom Rini
818408e203 travis: Rework Freescale ARM jobs a bit
- Split the AArch64 LS10xx and LS20xx builds into their own jobs, and
  then exclude only ls1/ls2 from the catch-all.  This moves the S32V234
  job (and future i.MX8*) to the catch-all.
- Split spear out from arm926ejs and exclude freescale, not mx from that
  job.  The older Freescale i.MX boards are caught by the catch-all job
  for Freescale but now we build the non-Freescale older i.MX platforms.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-10-23 11:58:44 -04:00
Bin Meng
3fdfca7a78 travis: Add qemu-x86_64 target for test.py testing
Add qemu-x86_64 to the list of targets we use for test.py runs.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2018-10-22 17:54:48 +08:00
Bin Meng
68b8912811 travis: Update to use QEMU 3.0.0 for testing
This updates travis-ci to use QEMU 3.0.0 for testing.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2018-10-22 17:51:45 +08:00
Bin Meng
66a3a9cfd4 travis: Generate grub_x64.efi for qemu-x86_64
grub_x86.efi is for 32-bit QEMU. Generate the 64-bit one.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2018-10-22 17:51:45 +08:00
Tom Rini
4030f166f9 travis: Add sandbox/clang-7 support
To make testing with clang support easier, add sandbox/clang-7
combination to our testing matrix.  To facilitate this, switch to using
the "sources" method that the travis.yml file supports to list
additional repositories and add the official one for llvm-7.  Due to
buildman not supporting using clang at this time add logic to manually
build a single sandbox configuration in the expected output directory so
that we can still invoke all of our tests.

Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2018-10-19 14:16:43 -04:00
Bin Meng
0533fb8b3f travis: Switch to i386 version toolchain for x86
Currently this uses x86_64 version toolchain for x86 build in
travis-ci. Change it to i386 version to avoid updating the
buildman toolchain path every time when the toolchain version
number is changed, eg: from 7.3.0 to 8.1.0.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2018-10-19 14:16:43 -04:00
Bin Meng
0810a5a925 travis: Remove or32 toolchain info
or32 is not supported by U-Boot anymore.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2018-10-19 14:16:42 -04:00
Simon Glass
11ae93eef4 binman: Run tests concurrently
At present the tests run one after the other using a single CPU. This is
not very efficient. Bring in the concurrencytest module and run the tests
concurrently, using one process for each CPU by default. A -P option
allows this to be overridden, which is necessary for code-coverage to
function correctly.

This requires fixing a few tests which are currently not fully
independent.

At some point we might consider doing this across all pytests in U-Boot.
There is a pytest version that supports specifying the number of processes
to use, but it did not work for me.

Signed-off-by: Simon Glass <sjg@chromium.org>
2018-10-08 07:34:34 -06:00
Simon Glass
83d73c2f7c binman: Support compressed entries
Add support for compressing blob entries. This can help reduce image sizes
for many types of data. It requires that the firmware be able to
decompress the data at run-time.

Signed-off-by: Simon Glass <sjg@chromium.org>
2018-09-29 11:49:32 -06:00
Tuomas Tynkkynen
b5ddd0701f .travis.yml: Fix typo in sun7i job description
'builman' -> 'buildman'

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
2018-09-10 17:08:08 -04:00
Bin Meng
b5135e4538 travis: Use kernel.org pre-built toolchain for riscv
This updates travis configuration to use kernel.org pre-built
toolchain for riscv.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2018-09-05 22:14:37 -04:00
Stephen Warren
a032e0a6ae travis: give every job a name
Travis CI now supports giving jobs an explicit name. Do this for all jobs.
This allows more direct control over jobs names than the previous
automatic or implicit naming based on the environment variables or script
text.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
[trini: Update names for jobs added/changed since posting]
Signed-off-by: Tom Rini <trini@konsulko.com>
2018-08-10 13:50:30 -04:00
Tom Rini
ae5afc3720 .travis.yml: Exclude openrd platforms
The openrd platforms are currently orphaned, and are constantly on-edge
or overflowing their binary limit.  Exclude them from travis for now.

Cc: Vagrant Cascadian <vagrant@debian.org>
Cc: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2018-07-31 19:58:23 -04:00
Tom Rini
d150d6131c .travis.yml: Exclude kirkwood machines from the arm926ejs job
We have a specific job for kirkwood platforms so exclude them from this
job.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-07-31 19:58:23 -04:00
Tom Rini
03b54997d5 board/aries: Remove
The various Aries Embedded boards have been orphaned for a year and no
one has come forward to take care of them.  Remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-07-02 15:52:50 -04:00
Rick Chen
6ffea11b89 travis.yml: Support RISC-V 64-bit
Fix riscv: ax25-ae350 build fail problem
https://travis-ci.org/trini/u-boot/jobs/385147373

...
Building current source for 1 boards (1 thread, 2 jobs per thread)
     riscv:  +   ax25-ae350
+arch/riscv/cpu/ax25/start.S: Assembler messages:
+arch/riscv/cpu/ax25/start.S:48: Error: unrecognized opcode `sd a2,0(t0)'
+arch/riscv/cpu/ax25/start.S:112: Error: unrecognized opcode `ld t5,0(t0)'
...

After apply the commit
configs: ax25-ae350: Set 64-bit as default configuration

Toolchain shall be also setuped with 64-bit in .travis.yml.

Signed-off-by: Rick Chen <rick@andestech.com>
Signed-off-by: Rick Chen <rickchen36@gmail.com>
Reviewed-by: Chih-Mao Chen <cmchen@andestech.com>
Cc: Greentime Hu <green.hu@gmail.com>
2018-05-30 16:21:30 +08:00
Tom Rini
dca268a8f9 .travis.yml: Further optimizations
- Xilinx aarch64 is caught in the general xilinx arm job, exclude from
  the general aarch64 job.
- Give the generic aarch64 job a better name
- Re-sort the PowerPC jobs so that we can complete them a bit quicker.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-05-22 22:08:57 -04:00
Daniel Schwierzeck
4c58d273e0 buildman: support newer gcc versions from kernel.org
Add support for gcc versions 7.3.0, 6.4.0 and 4.9.4.

Also use a regex for matching the tarball names. Some gcc versions
use '-ARCH-' instead of '_ARCH-'.

As part of this, we switch TravisCI to also using these toolchains for
all platforms.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2018-05-22 22:08:57 -04:00
Tom Rini
83d290c56f SPDX: Convert all of our single license tags to Linux Kernel style
When U-Boot started using SPDX tags we were among the early adopters and
there weren't a lot of other examples to borrow from.  So we picked the
area of the file that usually had a full license text and replaced it
with an appropriate SPDX-License-Identifier: entry.  Since then, the
Linux Kernel has adopted SPDX tags and they place it as the very first
line in a file (except where shebangs are used, then it's second line)
and with slightly different comment styles than us.

In part due to community overlap, in part due to better tag visibility
and in part for other minor reasons, switch over to that style.

This commit changes all instances where we have a single declared
license in the tag as both the before and after are identical in tag
contents.  There's also a few places where I found we did not have a tag
and have introduced one.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-05-07 09:34:12 -04:00
Alexey Brodkin
1e43118560 ARC: Bump ARC tools used in TravisCI to the most recent release arc-2017.09
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-04-02 12:27:56 +03:00
Tom Rini
706f077577 .travis.yml: Add lzop
We need lzop now in order to make some FIT images that use LZO
compression on the contents.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-03-14 14:02:49 -04:00
Max Filippov
4d69009462 .travis.yml: test xtensa xtfpga board in QEMU
This allows running tests on emulated KC705 board with DC233C xtensa
core. It expects to find conf.xtfpga_qemu in the uboot-test-hooks.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2018-02-13 23:00:29 -05:00
Max Filippov
b6f3a12ef8 .travis.yml: download xtensa prebuilt toolchain
xtensa toolchains are core-specific, so give full toolchain name and
download corresponding prebuilt toolchain from the github release.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2018-02-13 23:00:29 -05:00
Daniel Schwierzeck
329f5ef51d travis.yml: run buildman with option -E
This forces all compiler warnings to be treated as errors.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2018-02-04 22:55:34 -05:00
Daniel Schwierzeck
38314d0e64 travis.yml: fix 'set +e' in build script
The build script should not manipulate shell flags (especially '-e').
A non-zero exit value can also be catched with 'cmd || ret=$?'.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2018-02-04 22:55:34 -05:00