| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The key objectives are to
* allow util targets to be added from outside of util/build.mk
(for adding tools per board, like ectool_servo)
* allow for easier conditioning of tool inclusion
(for auto adding tools based on characteristic, like CHIP_NPCX)
* reduce the number of tools being built
(we can remove irrelevant tools for some boards, like removing
stm32mon for npcx boards or iteflash for stm32 boards)
We have tons of boards in EC now. This takes a significant amount
of time to build, so we should be a bit more careful when adding
utils for all boards. This and subsequent changes sets the precedent
for selectivity.
This shifts the initialization/control to the board and baseboard's
build.mk and allows the util/build.mk to add items to these variables.
Ideally, we would use multiple variables to aggregate the utils
selection from the three sources (baseboard/build.mk, board/build.mk,
and util/build.mk), but I don't think the addition complexity is
currently warranted.
BRANCH=none
BUG=b:176500425
TEST=# Check all output artifacts from before and after this CL.
make clobber
make buildall STATIC_VERSION=1 -j
mv build build-orig
# Apply the change
make clobber
make buildall STATIC_VERSION=1 -j
diff <(find build-orig | sed 's/build-orig//' | sort) <(find build | sed 's/build//' | sort)
# Nothing should be different
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: I23153850eda10fc1c88d386b9f3cd8296df9c6f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2606511
Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Makefile uses awk to find a section named FLASH in the output map
file and parses the size of the section to determine the free space
remaining.
NPCX RO images include sections named FLASH and FLASH_HDR. Modify the
awk command so the FLASH_HDR section isn't used by mistake.
BUG=none
BRANCH=none
TEST=make buildall
Signed-off-by: Keith Short <keithshort@chromium.org>
Change-Id: I3e420fbb45fdebc4f1e2578f819bbbce4994d2a8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2640873
Commit-Queue: caveh jalali <caveh@chromium.org>
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: caveh jalali <caveh@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
BUG=b:176500425
TEST=make help
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: I34bbf0fd11677d6cdbc557b722035a822623b57f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2606466
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
BUG=none
TEST=make help
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: I4a1187443c49abcf9a3518e3f6ff612e1c3989ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2606519
Commit-Queue: Ting Shen <phoenixshen@chromium.org>
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See crrev.com/c/576411 for the original addition of analyzestack.
BRANCH=none
BUG=none
TEST=make help
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: I85f0a1269bf1cf016ef4709d7a6b3ba5d27025ce
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2606509
Commit-Queue: Ting Shen <phoenixshen@chromium.org>
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that the dis target might not be the best way to actually debug
a specific part of C code. You should probably use have gcc itself
generate the annotated assembly for a single source file.
BRANCH=none
BUG=none
TEST=make help
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: Ieb535c8c4298525163f9e94167e30de10f090c4a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2606505
Commit-Queue: Ting Shen <phoenixshen@chromium.org>
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
BUG=none
TEST=make help
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: I2baf7ac7c533047368e2246ab6e69cf84363b97e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2602662
Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the libcryptoc hooks from common/build.mk to
third_party/rules.mk.
Recall that Makefile.rules actually contains all of the
"rules"/recipes for making objects. It alone contains
all of the build output beautification commands and control.
Makefile.rules is included as the last step in the master
Makefile.
This brings no firmware change, as verified with compare_build.sh.
BRANCH=none
BUG=none
TEST=./util/compare_build.sh -b fp
TEST=./util/compare_build.sh -b fp -p
# This fails due to the differing position of
# -lcryptoc, -lfpsensor, -lfpalgorithm, and/or -lfpbep.
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: I8d8493536a0e56ac6a5a1a32827b99ae97723727
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2092163
Reviewed-by: Yicheng Li <yichengli@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
No functional change.
The "else ifeq(x,y)" syntax is documented on the following page:
www.gnu.org/software/make/manual/html_node/Conditional-Syntax.html
The original change that brought in V=0:
crrev.com/c/427363
BRANCH=none
BUG=none
TEST=# Run before and after change to confirm output is the same
make hosttests V=0
make hosttests V=
make hosttests V=1
make hosttests V=kabob
Change-Id: I22021a794cc2e8dede845c0276a2cee67fa32550
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2597809
Tested-by: Craig Hesling <hesling@chromium.org>
Commit-Queue: Denis Brockus <dbrockus@chromium.org>
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Auto-Submit: Craig Hesling <hesling@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Any of the following will run the test from platform/ec
make buildall
make runtests
make run-genvif_test
The following will run the test from platform/ec/test/genvif
make clean test
BUG=b:173219559
BRANCH=none
TEST=make buildall
Signed-off-by: Denis Brockus <dbrockus@google.com>
Change-Id: Ic5594ae96d040adc332c2afc8fa8a8eb8b373882
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2542745
Tested-by: Denis Brockus <dbrockus@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Commit-Queue: Denis Brockus <dbrockus@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The currently generated format is XML. The GRL C2 software requires the
the filename end in .xml to successfully use it. Output to a file with
this name.
BUG=b:170646602
TEST=make buildall
BRANCH=none
Change-Id: I54dbfaef1bc76be58a0007039da659562f97e372
Signed-off-by: Abe Levkoy <alevkoy@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2514902
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New ToT firmware builder will call firmware_builder.py to start the build
process for FW. For EC, we need to call into out existing build system.
To break up the build and test phases, we need to break out all of the
build only steps out into a separate build target (buildall_only).
BRANCH=none
BUG=b:169178847
TEST=run `firmware_builder.py build` locally and see that it builds all
EC images and also redirects stdout and stderror from sub command.
TEST=chromite/api/contrib/call_scripts/firmware__build_all_tot_firmware
run this script correctly. End-to-End tests.
Signed-off-by: Jett Rink <jettrink@chromium.org>
Change-Id: Idd039e686697ee88419e0e44aa3dc96d554b997d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2424895
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the linker symbol used to track available flash from __image_size
to __flash_used. __image_size is now only used on the struct image_data
header.
BUG=b:160330682
BRANCH=none
TEST=make buildall
TEST=Run compare_build.sh against the following boards:
cortex-m: volteer (npcx chipset)
cortex-m0: honeybuns (stm32f0 chipset)
minute-ia: not changed
nds32: waddledee (it83xx)
riscv-rv32i: asurada (i8xxx2)
Signed-off-by: Keith Short <keithshort@chromium.org>
Change-Id: I94f5b4827cc0da1055520685cfeb1fafc0119e1c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2334389
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These boards were removed from buildall as they ran out of flash
space, but we kept the board directory around so that we could
continue to build the ec-utils ebuild, which used to require the board
directory to build tools like ectool (this was fixed in CL:2283999).
Since we've detangled the host utils ebuilds, these directories can
now be removed.
BUG=chromium:1035536
BRANCH=none
TEST=buildall
Change-Id: I736b323f9e977d74ca31788ed320befa2289a9dc
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2326304
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building host-based unit tests for code coverage, put the build
outputs in a different directory. Because the code coverage build
has calls into gcov library functions, a partial rebuild without code
coverage will result in undefined linker errors. The previous solution
was an inefficient cycle of `make clobber` and full rebuild when
switching between building with and without code coverage.
BUG=b:157091606
BRANCH=None
TEST=`make buildall -j ; make coverage -j`
Verify that build/host and build/coverage both exist, and that code
coverage data (*.gcno, *.gcda, *.info) is only in build/coverage.
Signed-off-by: Paul Fagerburg <pfagerburg@google.com>
Change-Id: Iac0b18068082d34546aa15b174f86efb6a7f41a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2242351
Tested-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Commit-Queue: Paul Fagerburg <pfagerburg@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed problems that were preventing us from building the unit tests
with code coverage testing via `make coverage`.
* Changed test_util so that programs will cleanly exit on SIGTERM.
* Changed run_host_test to wait for the child process to exit, and only
proc.kill() if it times out, so the child process will generate code
coverage output files on exit.
* Changed Makefile.toolchain to use the --coverage flag for both compile
and link.
* Changed build.mk and Makefile.rules to exclude certain tests from code
coverage because they were causing failures either during the
individual stage of code coverage, or generating the overall report.
BUG=b:143065231
BRANCH=none
TEST=`make coverage` produces results
Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org>
Change-Id: I8575013551ce1dba3fd249cd933a3cf6d110db8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2186853
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this fix, some sub-make invocations did not use
the --no-print-directories and some did. So, you would
still see the build output contaminated by make's
"Entering directory .../ec" and "Leaving directory .../ec"
messages. They are pretty much useless, since they all
mention the same ec directory.
This fix
* once and for all, kills all of those messages.
* simplifies the make file by removing the need to specify the flag
* cleans up the build output by removing the specified flag
BRANCH=none
BUG=none
TEST=make buildall -j
# Ensure that no "Entering dir ..." or "Leaving dir ..."
# messages were emitted.
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: I5cd7ac8fd2fcf1cde3b03485c17f5fd6969ee7aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2132615
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the script that generates cros_ec_commands.sh to the rule.
BUG=none
BRANCH=none
TEST=Check cros_ec_commands.h is re-generated by
'make build_cros_ec_commands' when make_linux_ec_commands_h.sh changes.
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Change-Id: Ieb0fbc0a7340e618d2c75df674d33365c36c944f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2092494
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=b:149350081
BRANCH=none
TEST=build all, and emerged ec related packages for host and octopus.
$ make buildall -j
$ cros_workon --host list
chromeos-base/chromeos-cr50-dev
chromeos-base/chromeos-ec
chromeos-base/chromeos-ec-headers
chromeos-base/ec-devutils
chromeos-base/ec-utils
chromeos-base/ec-utils-test
dev-util/hdctools
$ sudo emerge chromeos-cr50-dev -j
$ sudo emerge chromeos-ec -j
$ sudo emerge chromeos-ec-headers -j
$ sudo emerge ec-devutils -j
$ sudo emerge ec-utils -j
$ sudo emerge ec-utils-test -j
$ sudo emerge hdctools -j
$ cros_workon-octopus list
chromeos-base/chromeos-ec
chromeos-base/chromeos-ec-headers
chromeos-base/ec-devutils
chromeos-base/ec-utils
chromeos-base/ec-utils-test
dev-util/hdctools
$ sudo emerge-octopus chromeos-ec -j
$ sudo emerge-octopus chromeos-ec-headers -j
$ sudo emerge-octopus ec-devutils -j
$ sudo emerge-octopus ec-utils -j
$ sudo emerge-octopus ec-utils-test -j
$ sudo emerge-octopus hdctools -j
Signed-off-by: Namyoon Woo <namyoon@chromium.org>
Change-Id: If751b26b0635b0021c077338e96eaa8e8dcf17a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2080631
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds cr50 to skip-board in Makefile.rules.
The intention is to keep platform/ec independent from TPM2 library
change. Cr50 development has been shifted to cr50-stab branch. Cr50 is
maintained in that branch, but not in master(platform/ec) branch.
This is a band-aid fix to prevent chromeos-ec package emake error, until
we can remove board/cr50 completely from the master branch.
BUG=b:149350081
BRANCH=none
TEST=ran 'make buildall -j' and 'emerge-eve chromeos-ec'
Change-Id: I078ec4616158fefb3bfc0bea5c670632a7b97163
Signed-off-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2067157
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows for automated IDE toolchain setup.
Note, print-defines simply assumes you want to work on the RW section,
thus it sets BLD=RW. If you want the defines for RO, simply set BLD=RO.
Unfortunately, I needed to use CFLAGS, since some people abuse
other compilation flags to add -D and -I flags. This should be
cleaned up.
BRANCH=none
BUG=none
TEST=make help
TEST=make print-tests
TEST=make print-host-tests
TEST=make print-host-fuzzers
TEST=make print-host-fuzzers | cat
TEST=make print-boards
TEST=make print-boards | cat
TEST=make BOARD=nocturne_fp print-defines
TEST=make BOARD=nocturne_fp print-includes
TEST=make BOARD=nocturne print-defines
TEST=make BOARD=nocturne BLD=RO print-defines
TEST=make BOARD=nocturne print-includes
TEST=make BOARD=nocturne print-defines | cat
TEST=make BOARD=nocturne print-includes | cat
TEST=make buildall -j
Change-Id: I8ca729781201bad241f978407bfef54cad79ae80
Signed-off-by: Craig Hesling <hesling@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2051450
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch cleans up all of the nonformatted make output generated
from calling out to libcryptoc's make script.
This makes no functional change.
# WITHOUT this fix, we see the following when libcryptoc.a is dirty:
> VERSION ec_version.h
> make obj=/mnt/host/source/src/platform/ec/build/hatch_fp/cryptoc SUPPORT_UNALIGNED=1 \
> CONFIG_UPTO_SHA512= -C /mnt/host/source/src/third_party/cryptoc
> MKDIR /mnt/host/source/src/platform/ec/build/hatch_fp/cryptoc
> CC util.c
# WITHOUT this fix, we see the following when libcryptoc.a is clean:
> CC RW/common/version.o
> make obj=/mnt/host/source/src/platform/ec/build/hatch_fp/cryptoc SUPPORT_UNALIGNED=1 \
> CONFIG_UPTO_SHA512= -C /mnt/host/source/src/third_party/cryptoc
> make[2]: '/mnt/host/source/src/platform/ec/build/hatch_fp/cryptoc/libcryptoc.a' is up to date.
> LD RW/ec.RW.elf
# WITH this fix, we see the following when libcryptoc.a is dirty:
> MAKE cryptoc/libcryptoc.a
> MKDIR /mnt/host/source/src/platform/ec/build/hatch_fp/cryptoc
> CC util.c
> ...
> AR libcryptoc.a
# WITH this fix, we see the following when libcryptoc.a is clean:
> CC RW/common/version.o
> MAKE cryptoc/libcryptoc.a
> LD RW/ec.RW.elf
This also fixes the following error:
warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
BRANCH=none
BUG=none
TEST=rm -rf build/
make proj-cr50 proj-nocturne_fp proj-hatch_fp
# We should see a "MAKE cryptoc/libcryptoc.a" followed by the
# MKDIR, CC, and AR lines for each libcryptoc object.
# No spurious make output relacted to libcryptoc should be generated.
make proj-cr50 proj-nocturne_fp proj-hatch_fp
# We should see a "MAKE ... libcryptoc" followed by no
# additional libcrypto specific make steps.
# Unfortunately, with libcryptoc being a PHONY target, we can't avoid
# rebuilding other downstream objects. This should be fixed.
touch ../../third_party/cryptoc/*.c
make proj-cr50 proj-nocturne_fp proj-hatch_fp
# We should see a "MAKE cryptoc/libcryptoc.a" followed by the
# CC and AR lines for each libcryptoc object.
# No spurious make output relacted to libcryptoc should be generated.
# We should see a "MAKE ... libcryptoc" followed by no
# additional libcrypto specific make steps
TEST=rm -rf build/
make BOARD=hatch_fp V=1 build/hatch_fp/cryptoc/libcryptoc.a
# Ensure that verbose mode is passed to sub-make
TEST=rm -rf build/
make BOARD=hatch_fp build/hatch_fp/cryptoc/libcryptoc.a
# Ensure that verbose is disabled
TEST=make proj-grunt
# No mention of libcryptoc
Change-Id: I8afde8b5981861647b3eee0044fd3fd3e8fafaec
Signed-off-by: Craig Hesling <hesling@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2042784
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Document why we need the MT flag as a compiler option
BRANCH=none
BUG=none
TEST=builds
Change-Id: Id6bceacc3b0af110f79d9f727ded595950fa2afb
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2044358
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There seems to be some odd interaction between ccache version 3.7.6
and the set of command line options passed to gcc by the EC makefile,
as a result the generated dependency files are wrong, the target file
name is missing the path.
The -MT command line option makes sure that the correct target file
name is generated. Had to make similar changes in
../../third_party/{cryptoc,tpm2} Makefiles.
No need to change extra/usb_updater/Makefile as it puts .o files in
the same directory where .c files are.
BRANCH=all
BUG=b:148943341
TEST=verified that relevant object files are rebuilt when an .h file
is touched.
Also, with companion changes in cryptoc and tpm2 trees verified
that all generated my 'make buildall' .d files have proper target
values (including path), apart froom files in extra/usb_udater,
which place .o files in the same directory with .c files.
Change-Id: I22dfad94c112582230a2b6b60289e029a382d822
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2039988
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've made a hack similar to this a few times when I needed to test
that applying commit(s) did not change a certain ec.bin file.
get_version.sh already had a REPRODUCIBLE_BUILD option, which is
useful for testing that compiling under a different user/host would
not change the build, but did not allow testing compiling under a
different commit.
This adds another option, STATIC_VERSION, which allows different user,
host, and commit/repository state.
Usage: make BOARD=foo STATIC_VERSION=1
BUG=none
BRANCH=none
TEST=compile at different commits, observe ec.bin file does not
change.
Change-Id: I5fc277791cb272317fac2471f763b40290118e1d
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1997735
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Bash-based flash_ec script uses print-baseboard to identify if a
board has a baseboard.
The newer Python version I'm working on not only uses that
information, but reduces the number of board-specific quirks we have
encoded in the script by using the CHIP, CHIP_FAMILY, CHIP_VARIANT,
and CORE variables to discover quirks. Introduce a print-make-vars
rule to be used by the new flash_ec script which is extensible to many
variables.
BUG=b:145292630
BRANCH=none
TEST=make BOARD=... print-make-vars for a few different boards
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Change-Id: Ib91123d2b0b36c584db563e192f72a3ac001f330
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1992791
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a dummy bootblock to make sure size check is accurate during
`make buildall`.
The default size is picked from build 12769.0:
$ ls -al */coreboot/bootblock.bin
-rw-r--r-- 1 21504 Dec 19 02:20 kodama/coreboot/bootblock.bin
-rw-r--r-- 1 21504 Dec 19 02:20 krane/coreboot/bootblock.bin
-rw-r--r-- 1 21504 Dec 19 02:20 kukui/coreboot/bootblock.bin
-rw-r--r-- 1 21504 Dec 19 02:33 damu/coreboot/bootblock.bin
-rw-r--r-- 1 21504 Dec 19 02:33 jacuzzi/coreboot/bootblock.bin
-rw-r--r-- 1 21504 Dec 19 02:33 juniper/coreboot/bootblock.bin
-rw-r--r-- 1 21504 Dec 19 02:33 kappa/coreboot/bootblock.bin
-rw-r--r-- 1 21504 Dec 19 02:21 flapjack/coreboot/bootblock.bin
BUG=chromium:1034518
TEST=1) make buildall # use dummy bootblock
2) make BOARD=kukui # same as above, ~1.7k bytes left
3) make BOARD=kukui BOOTBLOCK=/dev/null # empty bootblock,
23k bytes left
4) make BOARD=kukui BOOTBLOCK=a-large-file # fail early before
linking
BRANCH=kukui
Change-Id: I65c18f567dce0cb315e0cdc4f30ada5e83275d72
Signed-off-by: Ting Shen <phoenixshen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1973550
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
Tested-by: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLaDOS and chell are out of space, so stop building these boards now.
Deleting the boards is problematic since the ec-utils ebuild still
expects the board directory to exist, but only builds the utils-host
target. In order to prevent that, the 'cros_ec' USE flag needs to be
removed from their bsp as well.
BUG=None
BRANCH=None
TEST=`make -j buildall`
TEST=`cros_workon --board chell start ec-utils && emerge-chell ec-utils`
Cq-Depend: chrome-internal:2296525, chrome-internal:2295865
Change-Id: I249bb2b3957d2f237a63207c91f0bd2e973d5dca
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1959962
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Diana Z <dzigterman@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
BUG=none
TEST=make buildall -j
TEST=make BOARD=hatch flash
# Should emit error that board isn't supported
TEST=make BOARD=nucleo-f072rb flash
# Should start openocd or error that command not found
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: Id13847d51392cc098ff7b289d120978202019aaf
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1952198
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
BUG=none
TEST=make help
Change-Id: Ic32777ec1c92fd79b803f8d20591ce47685af784
Signed-off-by: Craig Hesling <hesling@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1952197
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents the EC binaries unnecessarily being recreated
every time you run make on the target.
BUG=none
TEST=
make BOARD=scarlet
[..]
make BOARD=scarlet
*** 11460 bytes in flash and 10252 bytes in RAM still available on scarlet RO ****
*** 24140 bytes in flash and 10252 bytes in RAM still available on scarlet RW ****
BRANCH=none
Change-Id: I6cabb7d1b7512162c8b24c7664bafc7d98c5eda5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1851106
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Commit-Queue: Jett Rink <jettrink@chromium.org>
Tested-by: Stefan Reinauer <reinauer@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
BUG=none
TEST=make help
Change-Id: I912e54927e3e307180e8d80e78105fdfdd6c9dfb
Signed-off-by: Craig Hesling <hesling@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1880322
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=None
BUG=chromium:1011870
TEST=make -j buildall
Change-Id: Ifa0241cf9ea02ecf989fc7257f37c24efb17c3a7
Signed-off-by: Allen Webb <allenwebb@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1860720
Reviewed-by: LaMont Jones <lamontjones@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have provision for private host commands (see the
`EC_PRIVATE_HOST_COMMAND_VALUE` macro), but no way to make a private
host-side tool that can share the host command protocol implementation
in util/. This CL allows a private directory to be symlinked as
util/private and have its build.mk file included in the build. For an
(internal-only) example of what you might put in private, see
https://crrev.com/i/1914158.
BRANCH=none
BUG=chromium:1008568
TEST=Patch https://crrev.com/i/1914158 in the private repo (or add a
util directory there with a build.mk), then from the ec directory,
run `ln -s ../private/util util/private`. Run a build and verify
that the private build.mk gets run.
Change-Id: Ie1ad00cb454ba9ed57e4e9b24d4f5d397ca0d7a5
Signed-off-by: Harry Cutts <hcutts@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1836757
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 437e7346ab38a1eca1bb8526ae03b120635f03e9.
Reason for revert: jerry RO space issue resolved
BUG=chromium:1011621
Original change's description:
> Temporarily disable jerry due to CQ outages
>
> jerry is out of RO flash space and causing CQ outages. disable from
> buildall until it gets a proper fix.
>
> BUG=chromium:1011621
> TEST=buildall
>
> Change-Id: I09c6d2729660d94c0462b0ed5795b977ace90a3a
> Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1844145
> Reviewed-by: Jason Clinton <jclinton@chromium.org>
> Reviewed-by: Mike Frysinger <vapier@chromium.org>
> Commit-Queue: Jason Clinton <jclinton@chromium.org>
Bug: chromium:1011621
Change-Id: I52bd1c661684da39192e82ea801e7998bb07bbd0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1847773
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Tested-by: Jack Rosenthal <jrosenth@chromium.org>
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
jerry is out of RO flash space and causing CQ outages. disable from
buildall until it gets a proper fix.
BUG=chromium:1011621
TEST=buildall
Change-Id: I09c6d2729660d94c0462b0ed5795b977ace90a3a
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1844145
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Jason Clinton <jclinton@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dash does not support &> so non-tty output on ubuntu
was broken.
Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
BRANCH=none
BUG=none
TEST=make print-boards
TEST=make print-boards | cat
Change-Id: If27c55ecfcaac30b24205aef5e1fd67f8a73aae0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1817947
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Commit-Queue: Stefan Reinauer <reinauer@google.com>
Tested-by: Stefan Reinauer <reinauer@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When compiling host utilities on standard Ubuntu 19.04, linking
will fail if LDFLAGS is not specified after the object files.
Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
BUG=none
BRANCH=none
TEST=Run make outside of chroot and see it succeed.
Change-Id: I3330edf247aa109d5fbaa0e08cb7b4cfefc96a09
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1818149
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the patsubst function is a better function for removing a path prefix
as it is anchored at the beginning of the search space. the original
"subst" function can match everywhere in the path which leads to weird
transformations. patsubst is anchored at the beginning of the string
which better suits the intent here.
BRANCH=none
BUG=none
TEST=make buildall passes, $(out) now only removed at beginning of
output paths.
Change-Id: Ic5fe7aeb5eb8c87aa8bb49ea0865dc07327cb3e5
Signed-off-by: Caveh Jalali <caveh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1803178
Commit-Queue: Caveh Jalali <caveh@google.com>
Reviewed-by: Caveh Jalali <caveh@google.com>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
looks like make isn't smart enough to detect a recursive make
invocation when the $(MAKE) command is buried inside a $(call ...)
function resulting in:
make[2]: warning: jobserver unavailable: using -j1.
Add '+' to parent make rule.
adding a '+' to give make the appropriate hint.
BUG=none
BRANCH=none
TEST=make buildall -j still works, make no longer complains about
jobserver
Change-Id: Ia923a653e1ebf9cae7dae24a5b16f821b53e70b2
Signed-off-by: Caveh Jalali <caveh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1803179
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for some reason, Makefile.rules is set up to ignore compilation errors
on npcx_monitor. this seems very wrong.
BRANCH=none
BUG=none
TEST=make proj-atlas now fails - an existing compilation now fails the
build
Cq-Depend: chromium:1799293
Change-Id: I8ba9b8bc05d9b11df6a4f79bbcc2bbf7e48b224d
Signed-off-by: Caveh Jalali <caveh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1799294
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Commit-Queue: Caveh Jalali <caveh@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In fpsensor code, use always_memset() in place of memset().
BRANCH=nocturne
BUG=chromium:968809,chromium:989594,b:130238794
TEST=make -j buildall
TEST=tested enrollment, matching and multifinger on nocturne DUT
Change-Id: I29e32bd2838c1f240607799e61f29759aaee7600
Signed-off-by: Yicheng Li <yichengli@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1737206
Reviewed-by: Tom Hughes <tomhughes@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add variable PORT to select the flashing port.
TEST=make BOARD=kukui flash_ec PORT=9998, and flash success
BUG=none
BRANCH=none
Change-Id: Ic9ba318ffee70ec1f7789f2dcccc6025263e5436
Signed-off-by: Yilun Lin <yllin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1770330
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We ended up deciding on a different design for the location of ISH
firmware in the filesystem (long ago), and the chip variant is no
longer needed in the ebuild. Remove this target.
BUG=b:122371717
BRANCH=none
TEST=buildall
Change-Id: I9d5152537c9f4e86296546b86c98f581534d379f
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1742418
Reviewed-by: Raul E Rangel <rrangel@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Update **test** directory description to README.md.
* Add ** fuzz** directory description to README.md.
* Add unit test and fuzzer make targets to `make help`
* Change showboards to print-boards to be more consistent
* Change showboards to use auto pretty print
* Add print-tests, print-host-tests, and print-host-fuzzers
This is necessary to remove the ambiguity about what a special
name is for a given unit test.
Documentation Story:
The idea is to give a brief overview of what the test and fuzz
directories are in README.md.
README.md also mentions you should see `make help` for more detail.
Running `make help` shows you more general test/fuzz commands,
including the print-* commands.
Running the print-* commands show you exact target names for all
possible unit/fuzz test (both the build-only and run target names).
BRANCH=none
BUG=none
TEST=make help
TEST=make print-tests
TEST=make print-host-tests
TEST=make print-host-fuzzers
TEST=make print-host-fuzzers | cat
TEST=make print-boards
TEST=make print-boards | cat
TEST=make buildall -j
Change-Id: I34b68196ac635ba71a1d45ceb5d35a3b36fd129f
Signed-off-by: Craig Hesling <hesling@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1684714
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
aon task image build rules are lack of dependent rules of source code,
so can't track the source code changes and trigger auto build.
Refactor build rules for aon task to make sure always auto rebuild when
aon task's source code and dependent header files update
BUG=b:136691893
BRANCH=none
TEST= ish aon task should always rebuild when it's code and dependent
header files update
Change-Id: I0d8c7c6a4a2b7e99d724b88b233e09a29b8facea
Signed-off-by: Hu, Hebo <hebo.hu@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1688701
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Hebo Hu <hebo.hu@intel.corp-partner.google.com>
Tested-by: Hebo Hu <hebo.hu@intel.corp-partner.google.com>
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ran the following command:
git grep -l 'Copyright (c)' | \
xargs sed -i 's/Copyright (c)/Copyright/g'
BRANCH=none
BUG=none
TEST=make buildall -j
Change-Id: I6cc4a0f7e8b30d5b5f97d53c031c299f3e164ca7
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1663262
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When sanitizers are enabled, the libec.a related steps print a very
large amount of warnings that polute the build log and make it hard to
troubleshoot.
BRANCH=none
BUG=chromium:950310
TEST=USE="asan fuzzer" emerge-${BOARD} chromeos-ec
Change-Id: Ica06322291c95595b01941cffcfc297f2368ca02
Signed-off-by: Allen Webb <allenwebb@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1566655
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CPPFLAGS are flags for the preprocessor, not the C compiler.
clang warns when linking that we don't have the blx instruction:
lld.real: warning: lld uses blx instruction, no object with architecture
supporting feature detected
but this is because the linker command was not being passed the correct
architecture because it was missing the CFLAGS that specified them:
Before:
"/usr/bin/clang-8" -cc1as -triple armv4t-none-unknown-eabi
After:
"/usr/bin/clang-8" -cc1as -triple thumbv7em-none-unknown-eabi
BRANCH=nocturne,nami
BUG=chromium:931797
TEST=make buildall -j
TEST=revert change
rm -rf build && make buildall -j | grep 'bytes in flash and' | \
| sort > build.before
=> apply change
rm -rf build && make buildall -j | grep 'bytes in flash and' | \
| sort > build.after
diff build.before build.after
=> no difference
Change-Id: I6401b60fa3721c441df126f69634a13d6c7c06fe
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1470781
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order for chromeos-ish ebuild to run tests, it must run the fuzz
tests, which are not related to ISH features, and introduce a lot of
library dependencies into the ebuild.
Provide two new targets: runhosttests and runfuzztests to allow the
host tests to be run separately. runtests (and buildall) remain the
same.
BUG=b:134446400
BRANCH=none
TEST=ran new targets, they functioned as intended
Change-Id: Idba7fcfe707caeb0e51ce0c38caeac9da87e3baf
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1642887
Reviewed-by: Jett Rink <jettrink@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
|