Commit graph

2828 commits

Author SHA1 Message Date
Dan Elkouby
16f8968695 UPSTREAM: util/intelmetool: Try to activate the ME before scanning PCIe for it
When the ME is hidden (most likely because it was disabled), it cannot
be found until activate_me() is called.

BUG=none
BRANCH=none
TEST=none

Change-Id: Ifef2392e067c2075fafe6c83a3560dcedb2bf75d
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: e8ad3c7b95
Original-Change-Id: Ie1f65f61eb131577d7254af582e2709660f4da27
Original-Signed-off-by: Dan Elkouby <streetwalrus@codewalr.us>
Original-Reviewed-on: https://review.coreboot.org/18149
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://chromium-review.googlesource.com/430616
Commit-Ready: Aaron Durbin <adurbin@chromium.org>
Tested-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-22 05:03:18 -08:00
Martin Roth
639a030e9d UPSTREAM: util/lint: Add a tool to verify a single newline at the end of files
This takes way too long to run - currently about 30 seconds to look
at the entire coreboot tree.

Change-Id: I5edc77bc808665ef9832970f5a6458ffe8c04ee1
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 2e03fbced7
Original-Change-Id: I403934014b422528715ea95ff652babe5e18c88b
Original-Signed-off-by: Martin Roth <martinroth@google.com>
Original-Reviewed-on: https://review.coreboot.org/15976
Original-Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://chromium-review.googlesource.com/430716
2017-01-20 08:47:59 -08:00
Nico Huber
f46162070a UPSTREAM: cbfstool: Don't use le32toh(), it's non-standard
It's a BSD function, also, we missed to include `endian.h`.

Just including `endian.h` doesn't fix the problem for everyone.
Instead of digging deeper, just use our own endian-conversion from
`commonlib`.

BUG=none
BRANCH=none
TEST=none

Change-Id: Ideec790c2ef2f5a97908a589908d8666e61bab65
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 607796a4ff
Original-Change-Id: Ia781b2258cafb0bcbe8408752a133cd28a888786
Original-Reported-by: Werner Zeh <werner.zeh@siemens.com>
Original-Signed-off-by: Nico Huber <nico.huber@secunet.com>
Original-Reviewed-on: https://review.coreboot.org/18157
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Original-Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://chromium-review.googlesource.com/430181
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
2017-01-19 06:11:14 -08:00
Patrick Georgi
3c1f742a08 UPSTREAM: util/scripts: extend cross-repo-cherrypick
The script now automatically discovers the original branch (if known)
and configures itself appropriately.
Additionally, commit messages for changes coming _from_ upstream will
be prefixed with "UPSTREAM: ".
With the optional --cros argument, it also adds a BUG/BRANCH/TEST block
at the right place in the commit message (right above the metadata) if
one doesn't already exist.

BUG=none
BRANCH=none
TEST=none

Change-Id: I7ad3fb5317d9e3090f43ea983fcfb2ab099c43a4
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 6f27edd377
Original-Change-Id: I81864ddca62fd99a9eb905d7075e5b53f58c4eb5
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18135
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://chromium-review.googlesource.com/430179
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
2017-01-19 06:11:09 -08:00
Patrick Georgi
59e999ed71 UPSTREAM: util/cbfstool: Enable adding precompressed files to cbfs
cbfstool ... add ... -c precompression assumes the input file to be
created by cbfs-compression-tool's compress command and uses that to add
the file with correct metadata.

When adding the locale_*.bin files to Chrome OS images, this provides a
nice speedup (since we can parallelize the precompression and avoid
compressing everything twice) while creating a bit-identical file.

BUG=chromium:630451
BRANCH=none
TEST=with the necessary tweaks to the build system,
emerge-kevin chromeos-bootimage takes 0:25 instead of 3:10 before on the
z620 I work on, about a magnitude faster.

Change-Id: Ib99b8c4960e174ea5b9a5077ca49992a93d7bd41
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Change-Id: Iadd106672c505909528b55e2cd43c914b95b6c6d
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18102
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://chromium-review.googlesource.com/427703
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
2017-01-13 18:42:07 -08:00
Patrick Georgi
f905d67b49 UPSTREAM: util/cbfstool: Add cbfs-compression-tool
cbfs-compression-tool provides a way to benchmark the compression
algorithms as used by cbfstool (and coreboot) and allows to
pre-compress data for later consumption by cbfstool (once it supports
the format).

For an impression, the benchmark's results on my machine:

measuring 'none'
compressing 10485760 bytes to 10485760 took 0 seconds
measuring 'LZMA'
compressing 10485760 bytes to 1736 took 2 seconds
measuring 'LZ4'
compressing 10485760 bytes to 41880 took 0 seconds

And a possible use for external compression, parallel and non-parallel
(60MB in 53 files compressed to 650KB on a machine with 40 threads):

$ time (ls -1 *.* |xargs -n 1 -P $(nproc) -I '{}' cbfs-compression-tool compress '{}' out/'{}' LZMA)

real	0m0.786s
user	0m11.440s
sys	0m0.044s

$ time (ls -1 *.* |xargs -n 1 -P 1 -I '{}' cbfs-compression-tool compress '{}' out/'{}' LZMA)

real	0m10.444s
user	0m10.280s
sys	0m0.064s

BUG=chromium:630451
BRANCH=none
TEST=manual execution of the tool works

Change-Id: If2ac452dae4180b5df516a99808008ce41922621
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Change-Id: I40be087e85d09a895b1ed277270350ab65a4d6d4
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18099
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://chromium-review.googlesource.com/427702
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
2017-01-13 18:42:05 -08:00
Patrick Georgi
bc3460aa65 UPSTREAM: util/cbfstool: compile with -O2 by default
This speeds up the lzma encoder approximately four-fold.

BUG=chromium:630451
BRANCH=none
TEST=emerge-$board chromeos-bootimage's set of adding static assets it
noticeably faster

Change-Id: Ie8cc9b6106ac72c0b0e96bcd76bb7d13d48b2025
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Change-Id: Ibf896098799693ddd0f8a6c74bda2e518ecea869
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18098
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://chromium-review.googlesource.com/427701
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
2017-01-13 18:42:03 -08:00
Patrick Georgi
f53459ab14 UPSTREAM: buildgcc: try curl if wget is not present
There are systems that come with curl but not wget (eg macOS) and they
now have to install one less additional dependency.

Also fix some cosmetic issues in console output and require valid
certificates on https downloads.

BUG=none
BRANCH=none
TEST=none

Change-Id: I1005b5f46fd2d79cf7f506c1e83280ff50fafa78
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: df1ff231e4
Original-Change-Id: Idc2ce892fbb6629aebfe1ae2a95dcef4d5d93aca
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/18048
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://chromium-review.googlesource.com/427470
2017-01-13 15:22:02 -08:00
Martin Roth
4ce8f1b641 UPSTREAM: util/abuild: Print list of failed boards at the end of the abuild
When running abuild outside of jenkins, because all of the builds are
printed intermixed, it's easy to miss when a board has failed the build
by looking at the output.  This saves a list of failed builds and prints
the list at the end of the run.

- Add a command line option to mark when abuild is being called
recursively.
- Add all failed builds to a list.
- Print the list when a non-recursive abuild run exits.

BUG=none
BRANCH=none
TEST=none

Change-Id: I9d84e4d85427ad39d9ed6607b9665ba8ed37f667
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 047c2f44b0
Original-Change-Id: Icb40ed8083a57bbcde49297d2b0814f98dcbb6c8
Original-Signed-off-by: Martin Roth <martinroth@google.com>
Original-Reviewed-on: https://review.coreboot.org/17890
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://chromium-review.googlesource.com/427467
2017-01-13 15:21:55 -08:00
Sebastian 'Swift Geek' Grzywna
82f66c4087 UPSTREAM: util/autoport: Fix gfx dump of log_maker
Variable name of inteltoolArgs was fixed.

The way of passing arguments to inteltool was changed from "-a -f"
to "-af" which is better as the string seems to be parsed
as a single argument.

BUG=none
BRANCH=none
TEST=none

Change-Id: I48729ca606b86f2a73b9c1dd2be686ba482906cc
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: e6bd18f6b5
Original-Change-Id: I0c48fb1e912261748ba9e2b91c291bac28b9e856
Original-Signed-off-by: Sebastian 'Swift Geek' Grzywna <swiftgeek@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/18050
Original-Reviewed-by: Stefan Tauner <stefan.tauner@gmx.at>
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://chromium-review.googlesource.com/427466
2017-01-13 15:21:53 -08:00
Martin Roth
4a5cc9cb44 UPSTREAM: util/lint: Add check for the signed-off-by line
Gerrit will let you push a patch without a signed-off-by line,
although I believe it can't actually be merged.  Instead of catching
it either manually, or when the patch is attempting to be merged,
catch this in the jenkins builder.

BUG=none
BRANCH=none
TEST=none

Change-Id: I5964d9b029ddbc72e39ca9c9db0def8d9f8d61b8
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 23ceb7d240
Original-Change-Id: I80161befa157266dd4e3209839a06ff398aab6bb
Original-Signed-off-by: Martin Roth <martinroth@google.com>
Original-Reviewed-on: https://review.coreboot.org/17941
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://chromium-review.googlesource.com/427464
2017-01-13 15:21:48 -08:00
Patrick Georgi
c1e1da8f10 UPSTREAM: util/romcc: avoid shifting more than the variable's width
That's undefined behavior in C

Change-Id: I671ed8abf02e57a7cc993d1a85354e905f51717d
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1229557
Original-Reviewed-on: https://review.coreboot.org/18014
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/425983
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2017-01-09 23:46:53 -08:00
Martin Roth
ca15229e16 UPSTREAM: util/crossgcc: update jenkins-build-toolchain
This allows the make jenkins-build-toolchain to use the
BUILDGCC_OPTIONS variable.  Previously, the options were hardcoded.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/17766
Tested-by: build bot (Jenkins)
Reviewed-by: Nico Huber <nico.h@gmx.de>

Change-Id: I5f4c1d3fc8c714ec3640356ae3c86ae157f486d2
Reviewed-on: https://chromium-review.googlesource.com/425295
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:48 -08:00
Nico Huber
f69d14a570 UPSTREAM: buildgcc: Remove quotes around a $CC call
If we use ccache we have to interpret spaces in $CC as separation
characters. The downside is that we can't support spaces in the
compiler's path. But, well...

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/18018
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins)

Change-Id: I4e6e6324389354669a755f570083a40ff00b1bbf
Reviewed-on: https://chromium-review.googlesource.com/425294
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:45 -08:00
Patrick Georgi
d2ff5f7d3b UPSTREAM: util/romcc: remove dead assignments
BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: scan-build (clang 3.8)
Reviewed-on: https://review.coreboot.org/18021
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: Iab6fe065faeacfca3b41eb5bae1075dcfb1a2b05
Reviewed-on: https://chromium-review.googlesource.com/425288
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:33 -08:00
Patrick Georgi
88a9311bae UPSTREAM: util/romcc: Ensure that bit shift is valid
BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1287090
Reviewed-on: https://review.coreboot.org/18020
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: Idbe147c1217f793b0360a752383203c658b0bdce
Reviewed-on: https://chromium-review.googlesource.com/425287
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:30 -08:00
Patrick Georgi
707db62c59 UPSTREAM: util/romcc: avoid leaking a type
Only allocate ptr_type when it's actually used.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1129117
Reviewed-on: https://review.coreboot.org/18017
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: Iea5f93601a42f02a1866bdff099f63935fdd5b8d
Reviewed-on: https://chromium-review.googlesource.com/425286
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:28 -08:00
Patrick Georgi
a722342286 UPSTREAM: util/romcc: avoid dereferencing NULL pointer
argv is only filled for macro->argc > 0.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1287089
Reviewed-on: https://review.coreboot.org/18016
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: I5ff21098384afc823efa14be3d5565507fb2b3b2
Reviewed-on: https://chromium-review.googlesource.com/425285
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:25 -08:00
Patrick Georgi
1cb1fca53b UPSTREAM: util/romcc: free variable after use
closure_type is copied then never used again. Close that leak.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1287073
Reviewed-on: https://review.coreboot.org/18015
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: Idd4201f7fc6495fde5ad2e1feb7e499e38986e92
Reviewed-on: https://chromium-review.googlesource.com/425284
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:23 -08:00
Martin Roth
05b346bbc3 UPSTREAM: util/abuild: Don't set XGCCPATH if it's in the environment
BUG=None
BRANCH=None
TEST=None

Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/17723
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>

Change-Id: I0fa231ca3d33300a671810e994c5be54ac10a18b
Reviewed-on: https://chromium-review.googlesource.com/425280
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:13 -08:00
Arthur Heymans
cc393085fb UPSTREAM: util/inteltool: Add ICH6-10 to BIOS_CNTL list
Without this change inteltool cannot read BIOS_CNTL values nor can it
read the SPIBAR values.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/17979
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: I9ff16e060aca66e3cb11c8315a6843ccecd1d3c2
Reviewed-on: https://chromium-review.googlesource.com/425277
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:06 -08:00
Arthur Heymans
dff619441a UPSTREAM: util/inteltool: Fix ICH SPIBAR registers
The ICH7 SPIBAR offset and registers are different from later
generation.
ICH8 has a different offset from later generation.
ICH6 has no SPI controller.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/17978
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: I7691bce619089b15805114047bcb1fd121a5722b
Reviewed-on: https://chromium-review.googlesource.com/425276
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:01:04 -08:00
Arthur Heymans
8e5d02d266 UPSTREAM: superiotool: Add support for HWM registers on W83627EHG
Based on datasheet: "W83627EHF/EF W83627EHG/EG WINBOND LPC I/O,
Revision : 1.0"

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/17457
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: Ia2e5ab8bc454a34a89fe2cf06bfba55261109785
Reviewed-on: https://chromium-review.googlesource.com/425273
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:00:56 -08:00
Arthur Heymans
a27b4f24cc UPSTREAM: superiotool: Add support for HWM registers on W83627DHG
Based on datasheet: "W83627DHG WINBOND LPC I/O, Version: 1.4"

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/17964
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: Id20dff7539d926ef6f68265efbfc7420539d9bca
Reviewed-on: https://chromium-review.googlesource.com/425272
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:00:54 -08:00
Patrick Georgi
04f16d5a2e UPSTREAM: util/cbfstool: Don't print region information on stderr by default
It's usually not too interesting, so hide it behind -v.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: https://review.coreboot.org/17899
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

Change-Id: Icffb5ea4d70300ab06dfa0c9134d265433260368
Reviewed-on: https://chromium-review.googlesource.com/425268
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:00:44 -08:00
Paul Menzel
82651df8e2 UPSTREAM: util/intelmetool: Fix warning building with 32-bit
On a 32-bit system, pointers are 32-bit wide, and not 64-bit, resulting
in the warning below.

```
mmap.c: In function map_physical_exact:
mmap.c:26:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   virt_addr = mmap((void*)mapto, len, PROT_WRITE | PROT_READ,
                    ^
```

Fix this by using compatible types.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://review.coreboot.org/17970
Tested-by: build bot (Jenkins)
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: I4ede26127efcbd5668b978e6880a0535607e373d
Reviewed-on: https://chromium-review.googlesource.com/425262
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:00:30 -08:00
Nico Huber
e4adc5c60e UPSTREAM: buildgcc: Indicate CXXFLAGS for binutils
CXXFLAGS seems to be used a lot and have to be specified independently
from CFLAGS.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/17937
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: Iff4c76e54a46e908299b532fd848165a3dc04d43
Reviewed-on: https://chromium-review.googlesource.com/425261
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:00:28 -08:00
Nico Huber
f5a0ee7a42 UPSTREAM: buildgcc: Fix string comparison operator
BUG=None
BRANCH=None
TEST=None

Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/17942
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: I8ff8d51507dcf12cd554c8b4713074a99e47c11e
Reviewed-on: https://chromium-review.googlesource.com/425260
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:00:25 -08:00
Nico Huber
5e43c61461 UPSTREAM: buildgcc: Build GMP --with-pic if GCC defaults to -pie
GCC 6 can optionally default to building all binaries as position
independent executables (PIE). This breaks linking against static
libraries that are compiled without position independent code (PIC).

Building GMP `--with-pic` in this case seems to be the least fragile
solution.

TEST=Run `make all` and `make BUILDGCC_OPTIONS=-b build-i386` in
     util/crossgcc on Debian Stretch.

BUG=None
BRANCH=None

Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/17936
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Jonathan Neuschfer <j.neuschaefer@gmx.net>

Change-Id: I5f3185af9c8d599379a628e18724b217b88be974
Reviewed-on: https://chromium-review.googlesource.com/425258
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-01-05 11:00:21 -08:00
Patrick Georgi
fcb772c2f2 UPSTREAM: util/romcc: Don't read 'member' if it might be NULL
The earlier loop exits gracefully iff i == index. In other cases, member
might be NULL, so check that the scan was successful before using its
results.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1129147
Reviewed-on: https://review.coreboot.org/17887
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: I818c233d797d82fa819243c4626dd9c4b7de3ac6
Reviewed-on: https://chromium-review.googlesource.com/422219
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-12-19 09:54:37 -08:00
Patrick Georgi
9597841a3b UPSTREAM: util/broadcom: Check for successful file access
Change-Id: I5c77b3c5ea3fbc249a8c564a521c2c3c45e1c560
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1323510
Reviewed-on: https://review.coreboot.org/17877
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421284
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-12-19 09:54:20 -08:00
Patrick Georgi
bd3c7e71f8 UPSTREAM: util/romcc: remove self-assignment
Change-Id: I0f78b55b28011cdefc90665bca2a7ea17647e955
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1129127
Original-Reviewed-on: https://review.coreboot.org/17885
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421219
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2016-12-16 15:42:09 -08:00
Patrick Georgi
7cd937c15c UPSTREAM: util/romcc: Move access after NULL-check
Change-Id: I7f9c38fd6e75b32fe1ed8a60c7054f4dd1fcd5c0
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1129104
Original-Reviewed-on: https://review.coreboot.org/17884
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421218
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2016-12-16 15:42:06 -08:00
Patrick Georgi
7c655b3316 UPSTREAM: util/romcc: Fix resource leak
Change-Id: I0d260254bab714ec939fc199b3a133b0fc05b10d
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1129112
Original-Reviewed-on: https://review.coreboot.org/17883
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421217
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2016-12-16 15:42:04 -08:00
Patrick Georgi
02ba75a7c6 UPSTREAM: util/broadcom: Add two more NULL checks
Change-Id: I088730fd87dd39fa2c36a06c5770fad05a5808b0
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1323511, #1323512
Original-Reviewed-on: https://review.coreboot.org/17882
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421216
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2016-12-16 15:42:01 -08:00
Patrick Georgi
07f561c2cb UPSTREAM: util/broadcom: Check return value of stat()
Change-Id: Ib53408e8b186c07aa8e42c67131d39c4add05983
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1323515
Original-Reviewed-on: https://review.coreboot.org/17881
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421215
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2016-12-16 15:41:59 -08:00
Patrick Georgi
33b86a139c UPSTREAM: util/broadcom: Initialize variable
It's later tested for NULL, but never initialized to make that test work
reliably.

Change-Id: Iadee1af224507a6dd39956306f3eafa687895176
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1323515
Original-Reviewed-on: https://review.coreboot.org/17880
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421214
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2016-12-16 15:41:57 -08:00
Patrick Georgi
066676b4da UPSTREAM: util/broadcom: Close file after use
Change-Id: Ieea7ac7fbc618cd12f843f1606f9ebab37cae67e
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1323508
Original-Reviewed-on: https://review.coreboot.org/17879
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421213
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2016-12-16 15:41:54 -08:00
Patrick Georgi
bcefbf84ce UPSTREAM: util/broadcom: Terminate string
filebuffer is treated like a string, so it should be zero-terminated
like a string.

Change-Id: I078aa39906394be64023424731fe0c7ae2019899
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1323473
Original-Reviewed-on: https://review.coreboot.org/17878
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421212
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2016-12-16 15:41:52 -08:00
Patrick Georgi
c35186c9aa UPSTREAM: util/broadcom: close file on error
Change-Id: I5193c6a9f08398b881c971c7175654ba5775b34a
Original-Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Found-by: Coverity Scan #1323509
Original-Reviewed-on: https://review.coreboot.org/17876
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/421211
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
2016-12-16 15:41:49 -08:00
Nico Huber
972b500cd8 UPSTREAM: util/ifdfake: Add number of regions
To make the generated descriptor compatible with latest libflashrom.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/17447
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>

Change-Id: I005159dd24e72da9cc43119103c96c5dd5b90a55
Reviewed-on: https://chromium-review.googlesource.com/421170
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
2016-12-16 07:51:49 -08:00
Patrick Georgi
4e42a37159 UPSTREAM: util/cbfstool: Handle error condition more carefully
BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1295494
Reviewed-on: https://review.coreboot.org/17861
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins)

Change-Id: I72a7776d530d1cf0b8fa39e558990df3dc7f7805
Reviewed-on: https://chromium-review.googlesource.com/420522
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
2016-12-16 07:51:28 -08:00
Patrick Georgi
f1a1abee6d UPSTREAM: util/cbfstool: check that buffer_create worked
We might not care much about this buffer, but we really use it later
on...

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1294797
Reviewed-on: https://review.coreboot.org/17860
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins)

Change-Id: Ia16270f836d05d8b454e77de7b5babeb6bb05d6d
Reviewed-on: https://chromium-review.googlesource.com/420521
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
2016-12-16 07:51:26 -08:00
Patrick Georgi
90b1aa14f8 UPSTREAM: util/cbfstool: Fix memory leak
BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1325836
Reviewed-on: https://review.coreboot.org/17859
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>

Change-Id: I66cb1c88155ef58610bacfb899e0132e4143c7ac
Reviewed-on: https://chromium-review.googlesource.com/420520
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
2016-12-16 07:51:24 -08:00
Patrick Georgi
06b470b633 UPSTREAM: util/cbfstool: Add NULL-ptr check
BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1323507
Reviewed-on: https://review.coreboot.org/17858
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>

Change-Id: I8b5caf5423135fe683a24db6700b895a2685cb98
Reviewed-on: https://chromium-review.googlesource.com/420519
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
2016-12-16 07:51:21 -08:00
Martin Roth
dc2140664d UPSTREAM: util/abuild: Fix update_config function
- Because $configoptions contains embedded newlines that we want to be
interpreted when we pipe it out to the config file, change that back to
a printf, and tell shellcheck that we want to do it.
- 'make olddefconfig' & 'yes "" | make oldconfig' give us the same
output for the config file, but olddefconfig doesn't generate the log
the way oldconfig does.  Go back to the previous behavior.
- Don't overwrite the config log with make savedefconfig.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/17853
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>

Change-Id: I4966a3bb2541b452eeb4ca73ac3cd727f8525636
Reviewed-on: https://chromium-review.googlesource.com/420841
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
2016-12-16 04:51:05 -08:00
Patrick Georgi
794f8b2290 UPSTREAM: util/cbfstool: require -i argument for cbfstool add-int
We never specified what value add-int should write by default.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: https://review.coreboot.org/17796
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>

Change-Id: I240be4842fc374690c4a718fc4d8f0a03d63003c
Reviewed-on: https://chromium-review.googlesource.com/419637
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-12-13 17:49:57 -08:00
Martin Roth
2a7983e545 UPSTREAM: lint/kconfig_lint: Make sure all symbols have a type defined
Show an error if a symbol does not have a defined type.

This caused a problem of an undefined symbol in check_defaults, so
we just skip those symbols there as we can't verify the default pattern
without knowing the type.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/17345
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@googlemail.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>

Change-Id: I28711a77962e16f6fc89789400363edd0fdd0931
Reviewed-on: https://chromium-review.googlesource.com/419632
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-12-13 17:49:45 -08:00
Martin Roth
b24ce01809 UPSTREAM: util/lint: add check for auto-included headers
Since we've removed them from the tree, add a check to keep them out.

BUG=None
BRANCH=None
TEST=None

Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/17658
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>

Change-Id: I2995da765fee8796a297963d54a1c34f56376efe
Reviewed-on: https://chromium-review.googlesource.com/419631
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-12-13 17:49:43 -08:00
Martin Roth
40de871bbd UPSTREAM: Kconfig: Change symbol override from warning to notice
Overriding symbols within a .config is pretty common when doing
automated builds with various different options.  The warning
text makes it sound like this is an issue, so change it to say
'notice' instead.  We could get rid of it completely, but it's
not a bad thing to know that we have two copies of the same symbol
in the .config.

BUG=chrome-os-partner:54059
BRANCH=None

TEST=copy a disabled kconfig option to the end and set it to y.
See notice text instead of warning.

Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/16691
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>

Change-Id: I9f575b2275233f638e42676263348c807e6515bd
Reviewed-on: https://chromium-review.googlesource.com/419630
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-12-13 17:49:40 -08:00