summaryrefslogtreecommitdiff
path: root/Makefile.rules
Commit message (Collapse)AuthorAgeFilesLines
* Move .lcov_lock to /tmp/ec-lcov-lockDuncan Laurie2013-07-231-1/+1
| | | | | | | | | | | | | | | | | | | | flock leaves the lock file and git complains about it. Let's move the lock file to /tmp/ec-lcov-lock. BUG=chrome-os-partner:19235 TEST=make coverage and check .lcov_lock is in /tmp BRANCH=None Original-Change-Id: Id6d68af327b53aa1c0c7ae9186149126d8a5cc37 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/62858 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> (cherry picked from commit 935d761a397510f0f08c5ab0939b73c912ac0565) Change-Id: I1673697a9870a2b8039c533fb215bdb6a9fc22cd Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/63029
* Make target for test coverage report generationVic Yang2013-06-161-1/+19
| | | | | | | | | | | | | By 'make coverage', lcov is used to generate test coverage report in HTML format stored in coverage_rpt folder. BUG=chrome-os-partner:19235 TEST=Generate a report. BRANCH=None Change-Id: I44142eaaeb897cf09179764781120370920144cd Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/58203
* Pthread-based emulator for unit testingstabilize-4100.38.BVic Yang2013-05-071-2/+26
| | | | | | | | | | | | | | This is the first version of pthread-based RTOS emulator. With this, we will be able to test high-level modules entirely on the host machine. BUG=chrome-os-partner:19325 TEST='make runtests' and see tests passing. BRANCH=None Change-Id: I1f5fcd76aa84bdb46c7d35c5e60ae5d92fd3a319 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49954 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Put a copy of test binaries under build/${BOARD}Vic Yang2013-04-301-1/+2
| | | | | | | | | | | | | | This puts a copy of test binaries at build/${BOARD}/test-*.bin. This way it is easier for us to get all test binaries. BUG=chrome-os-partner:19057 TEST='make tests' and check build/${BOARD}/test-*.bin BRANCH=None Change-Id: I8394cea6bee95f00fc01d725d2494ca5e222f47d Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49608 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Make test-list a per-board parameterVic Yang2013-04-291-2/+2
| | | | | | | | | | | | | | Some tests are not applicable to all boards. This change makes test-list a per-board parameter so a test can be enabled/disabled for individual boards. Also disable all the tests that don't compile now. BUG=chrome-os-partner:18598 TEST=make tests for all boards BRANCH=None Change-Id: Id2d18e23856f5c64dbdc7c6ca5949f8ad61b5cc0 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49452
* Add 'clobber' target to Makefile to clean everything.Bill Richardson2013-04-261-0/+4
| | | | | | | | | | | | | | | BUG=none BRANCH=none TEST=manual make BOARD=link make BOARD=snow make clobber Change-Id: I862ec0d0240e48828091259dee7e8aef62544d47 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49370 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Add 'TAGS' target to MakefileBill Richardson2013-04-261-0/+10
| | | | | | | | | | | | | | | | | This creates cscope.files and an emacs TAGS file for the specified BOARD. If you don't have etags installed, it just creates cscope.files. BUG=none BRANCH=none TEST=manual make BOARD=link tags ls Change-Id: I9b27ba42ac4e85822c5a5a6e8cb5b5148a3435c3 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49356 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Only includes necessary tasks for test binariesVic Yang2013-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | This changes current TASK() syntax to TASK_BASE() and TASK_NORMAL(), where TASK_BASE is necessary for the EC to boot on a board and TASK_NORMAL represents the task that can be removed in a test binary. Tasks introduced by a test should be listed as TASK_TEST(). Note that this CL breaks current tests (many of them are broken anyway), which will be fixed in up coming CLs. BUG=chrome-os-partner:18598 TEST=Build link/bds/spring/snow/daisy/mccroskey. (mccroskey failed for unrelated issue) BRANCH=none Change-Id: Ic645cdae0906ed21dc473553f1f43c2537ec4bb9 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/47531
* Clean up vboot hash supportRandall Spangler2012-10-251-6/+0
| | | | | | | | | | | | | | | | | | This copies the parts of sha256.c that we need from vboot_reference, and removes the explicit dependency on vboot_reference. That dependency was a good idea when we were doing full verified boot in the EC, but is now overkill and makes it harder for others to reuse the EC code. This also lets us call EC functions directly instead of needing vboot_stub.cc; that reduces code size by ~100 bytes. BUG=chrome-os-partner:15579 BRANCH=none TEST=vboot_hash ro, then compare with result of sha256sum build/link/ec.RO.flat Change-Id: I0f236174291df3e7f3c75e960fe9ab32af305a61 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/36589 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Add GEC lock mechanism.Louis Yung-Chieh Lo2012-08-101-1/+2
| | | | | | | | | | | | | | Basically re-use the gec lock code from flashrom package. BUG=chrome-os-partner:12319 TEST=Build and run on link. Only build on snow. while true; do ectool hello; done & ; run 10 instances. ; expect all instances runs okay. Signed-off-by: Louis Yung-Chieh Lo <yjlou@chromium.org> Change-Id: I11d5824f46810c6f5a04a564a81387cdea081697 Reviewed-on: https://gerrit.chromium.org/gerrit/29763 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* Prevent parallel make from failingVic Yang2012-07-201-7/+5
| | | | | | | | | | | | | | | | When we do parallel 'make', it fails intermittently. We might be hitting a make bug: http://savannah.gnu.org/bugs/?30653 Let's remove the intermediate file for now and see if this happens again. BUG=chrome-os-partner:11614 TEST=Repeatedly remove some file and parallel make. This originally gave an error once every two time. It doesn't now. Change-Id: Iaaf48e7d19b11dad30bc70cd50e73c195caf17b4 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/28105 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Remove firmware BRandall Spangler2012-07-171-11/+5
| | | | | | | | | | BUG=chrome-os-partner:11449 TEST=build link, snow, bds; ectool reboot_ec cold to make sure enums line up Change-Id: Ie09db2080a00f1a7e2c05579b9b41ea5137c1af0 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/27658 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
* Rename A and B images to RW and RW_B, part 1Randall Spangler2012-07-171-8/+8
| | | | | | | | | | | | | | | | | | | All of our current EC configs have RO and a single RW image. Calling that image 'A' is confusing, particularly when combined with EC software sync (where the RW image is updated from either the A or B AP RW firmware). So, rename it. This changes all the build artifacts and constants. Internal EC commands and host commands still refer to A/B; that will be fixed in part 2. BUG=none TEST=build link, snow, bds Change-Id: Icfed4914745f0799bb71befb6a6563cfd8bc90ab Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/27649 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Only one RW image is now the defaultRandall Spangler2012-06-261-10/+17
| | | | | | | | | | | | And if RW B isn't enabled, it's not even linked. BUG=chrome-os-partner:10881 TEST=on link, should be no B image, and 'sysjump B' should fail On BDS, still should be A and B images Signed-off-by: Randall Spangler <rspangler@chromium.org> Change-Id: Icb2af07881cc7e28b9b877f45824486a22fde8d7 Reviewed-on: https://gerrit.chromium.org/gerrit/26116
* simple and self-contained EC flashing toolVincent Palatin2012-05-311-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | This produces a host binary running on the application processor and which is able to re-flash th EC firmware over the AP-to-EC link (either LPC or I2C). The payload (ie the EC firmware) to use is embedded inside the flasher binary. This is just aimed at testing and developer upgrade. The auto-update flow is using flashrom. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=None TEST=build for link/daisy/snow/bds and tests On Snow, run burn_my_ec from the serial console and see that the EC was correctly re-flashed. Change-Id: I7f90e773678a7ef3d8dc6dbacf54e80f3294607b Reviewed-on: https://gerrit.chromium.org/gerrit/24236 Reviewed-by: David Hendricks <dhendrix@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
* ec: Remove *.dis from default target.Hung-Te Lin2012-05-301-1/+3
| | | | | | | | | | | | | | | *.dis files can always be generated by *.elf files, so we can remove it from default build targets, and only generate that on demand (make dis). This also speeds up building time from 6.637s to 4.9s. BUG=chromium-os:31379 TEST=emerge-link chromeos-ec make # no *.dis make dis # get *.dis Change-Id: Ibc5305501ae72a0733f401863ea1d4c1f17aa34f Signed-off-by: Hung-Te Lin <hungte@chromium.org>
* Split communication functions from host toolsVincent Palatin2012-05-241-2/+2
| | | | | | | | | | | | Preparatory work to re-use the tools on ARM boards using I2C communications. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=None TEST=make BOARD=link && make BOARD=bds && make BOard=DAISY Change-Id: I31d41f30c3231a4a9349b939bf6bba871ed4c383
* Extract A and B images from signed EC binary for openocd macrosRandall Spangler2012-05-141-1/+7
| | | | | | | | | Signed-off-by: Randall Spangler <rspangler@chromium.org> BUG=none TEST=build, then flash_link_a from openocd telnet session Change-Id: If922f54adb4684e27a38ed87348111bd9047535d
* Enable verified boot for EC firmwareBill Richardson2012-05-101-1/+18
| | | | | | | | | | | | | | | | | | | | BUG=chrome-os-partner:7459 TEST=manual In the chroot: cd src/platform/ec make BOARD=link The firmware image (build/link/ec.bin) is signed with dev-keys. Reflash the EC and try it, and it should verify and reboot into RW A. Additional tests (setting USE_RO_NORMAL, poking random values into VBLOCK_A or FW_MAIN_A to force RW B to run, etc.) are left as an exercise for the reader. I've done them and they work, though. Change-Id: I29a23ea69aef02a11aebd4af3b043f6864723523 Signed-off-by: Bill Richardson <wfrichar@chromium.org>
* Add basic FMAP to EC firmware image.Bill Richardson2012-05-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | This is very basic, so you can only rely on RO_SECTION, RW_SECTION_A, and RW_SECTION_B for now. We'll fill in more regions as we add vboot stuff. Still, you should be able to do things like this: flashrom -p internal:bus=lpc -r ec.bin flashrom -p internal:bus=lpc -w ec.bin -i RW_SECTION:ec.B.flat BUG=chrome-os-partner:8198 TEST=manual Build the image, look for the FMAP in it. cd src/platform/ec make BOARD=link dump_fmap ./build/link/ec.bin Change-Id: I0adbbfb8e975faae805bda271873fcef46590cf4 Signed-off-by: Bill Richardson <wfrichar@chromium.org>
* update versioning information stored in the ECVincent Palatin2012-03-021-0/+5
| | | | | | | | | | | | | | | Add build information (date/time/builder) which can be displayed at the EC console. Generate a version from the board name and the branch tag. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=chromium-os:27013 TEST=on BDS, run version command on the console. inspect the built binary. Change-Id: Idb1f68898ba6b811d02919f17ab4536ed9f8934a
* Honor V=1 build flag when building tests recursivelyVincent Palatin2012-02-021-1/+2
| | | | | | | | | | | | Allow to display the verbose command lines even when building the test programs. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=None TEST="make tests" with and without V=1 Change-Id: Ib1195c7e069d7823c2eb7b2311bd5f3c6cd6c835
* Move OS files to a CPU specific directoryVincent Palatin2012-01-251-1/+1
| | | | | | | | | | | | | | Preparatory work to introduce a second SoC : 3/5 We split the drivers files which contain SoC specific drivers from the OS files which only depend the actual CPU core. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=None TEST=run EC firmware on BDS and test a few commands on the console. Change-Id: I598f8b23e074da9bd6b0e2ce6689c1075fe854f0
* Add modularity to the buildVincent Palatin2012-01-241-1/+1
| | | | | | | | | | | | | | You can now enable/disable tasks more easily. To conditionally compile a C file depending on the task FOO activation, just write something like that in the build.mk file : common-$(CONFIG_TASK_FOO)+=foo_source.o Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=None TEST=make all BOARD=link && make qemu-tests Change-Id: I760fb248e1599d13190ccd937a68ef47da17b510
* Add ec_uartd build-side utilityRandall Spangler2011-12-131-3/+6
| | | | | | | | | | | | This provides a pty for the EC UART channel on the BD-ICDI-B FTDI daughtercard for EC debugging. Signed-off-by: Randall Spangler <rspangler@chromium.org> BUG=none TEST=make && build/bds/util/ec_uartd (with EC attached to FTDI board) Change-Id: I51fe50d0da6345962affb860b923425197a04fa1
* Separate utility build for build and host utilsRandall Spangler2011-12-081-4/+9
| | | | | | | | | | | | | | Build is the system doing the build (e.g. 64-bit linux) and host is the target platform on top of the ec (e.g. 32-bit Chromium OS). Necessary to get ectool properly compiling for Chromium OS. Signed-off-by: Randall Spangler <rspangler@chromium.org> BUG=none TEST=make && file build/bds/util/ectool; ectool should be a 32-bit binary Change-Id: I50eba4c164ece236646a7c6087b1b86769beeb28
* Initial sources import 3/3Vincent Palatin2011-12-071-0/+91
source files mainly done by Vincent. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Change-Id: Ic2d1becd400c9b4b4a14d4a243af1bdf77d9c1e2