summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bump to version 1.6v1.6Jimmy Zhang2015-10-191-1/+1
| | | | | | | | Create a release that adds rsa-pss signature support. Currently it has only been tested on T210. Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add a sample script to do rsa signing for T210 bootimageJimmy Zhang2015-10-192-0/+100
| | | | | | | | | | | sign.sh runs openssl and other linux utilities to generate rsa-pss signatures for a prebuilt bootimage and then uses cbootimage option --update to update bootimage's rsa signatures and rsa modulus. Syntax: sign.sh <bootimage> <rsa_key.pem> Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add new configuration keyword "RehashBl"Jimmy Zhang2015-10-197-0/+105
| | | | | | | | | | | | | | | | | | This feature is needed in case an image is updated at later stage after bootimage has been created. How to use: Add keyword "RehashBl" to configuration file, for example, update.cfg: RehashBl; Invoke cbootimage to re-calculate bootloader aes hash, for example, for bootimage bootloader.bin: $ cbootimage -s tegra210 --update update.cfg bootloader.bin bootloader.bin-resigned Where bootloader.bin-resigned is the resigned bootimage bootloader.bin Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add support to dump rsa related fields for t210Jimmy Zhang2015-10-192-10/+74
| | | | | | | | Add support to dump rsa pubkey, bct's rsa-pss signature and bootloader's rsa-pss signature. Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add support for update pubkey and rsa-pss signaturesJimmy Zhang2015-10-1910-1/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | Create new configuration keywords: RsaKeyModulusFile: pubkey modulus RsaPssSigBlFile: bootloader rsa pss signature RsaPssSigBctFile: bct rsa pss signature Sample Configuration file update_bl_sig.cfg RsaKeyModulusFile = pubkey.mod; RsaPssSigBlFile = bl.sig; where pubkey.mod and bl.sig are files that contain the public key modulus and bootloader's rsa-pss signature respectively. public key modulus and signature are created through utilities outside cbootimage. Command line example: $ cbootimage -s tegra210 -u update_bl_sig.cfg image.bin image.bin-bl-signed Above three new keywords added in this CL are only implemented to support for T210. Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add man pagesAllen Martin2015-10-084-0/+159
| | | | | | | Add man pages for cbootimge(1) and bct_dump(1) Signed-off-by: Allen Martin <amartin@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add generated files to .gitignoreAllen Martin2015-10-081-0/+18
| | | | | | | | Add generated and temporary files to .gitignore rules to prevent them from cluttering up git status or being accidently committed. Signed-off-by: Allen Martin <amartin@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Enable -u | --update option support for t210Jimmy Zhang2015-10-061-4/+5
| | | | | | Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com> [swarren, minor capitalization fix] Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Bump to version 1.5v1.5Jimmy Zhang2015-03-251-1/+1
| | | | | | | Create a release that includes Tegra210 support. Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Remove misleading message "deprecated"Jimmy Zhang2015-03-251-1/+1
| | | | | | | | Since option "-t" is still fully supported, correct the help messages. Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add support for Tegra210Jimmy Zhang2015-03-2512-7/+4833
| | | | | | | | | | | | | | | | This patch adds support for Tegra210. The command option is --soc tegra210 or -s tegra210 T210 specific files are added under src/t210 directory. Main changes from earlier soc are many new fileds are added to structure nvboot_sdram_params and the number of boot devices that can be defined within bct is reduced from 4 to 1. Signed-off-by: Jimmy Zhang <jimmzhang@nvidia.com> Tested-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add a README fileStephen Warren2015-02-241-0/+34
| | | | | | | This provides a brief introduction to the project, and information re: how to submit patches. Signed-off-by: Stephen Warren <swarren@nvidia.com>
* cbootimage: Add 'b' (binary) flag when using fopen to open a binary file.Scott Duplichan2014-12-151-1/+1
| | | | | | | | | | Add 'b' (binary) flag when using fopen to open a binary file. This keeps Windows from expanding \n to \r\n and interpreting <ctrl>z as end of file. The change is to support a Windows hosted coreboot build environment. Signed-off-by: Scott Duplichan <scott@notabs.org> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* set: check seek successPatrick Georgi2014-11-101-1/+5
| | | | | | | | This could silently fail which leads to surprising behaviour. Found-by: Coverity Scan Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Signed-off-by: Thierry Reding <treding@nvidia.com>
* data_layout: fail better on file access errorsPatrick Georgi2014-10-021-1/+1
| | | | | | | | | | | fread could return only a partial result (eg. NVBOOT_CONFIG_TABLE_SIZE_MAX - 1 bytes), which right now would be accepted and only resolved by later code. Found-by: Coverity Scan Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* data_layout: improve memory handlingPatrick Georgi2014-10-021-2/+4
| | | | | | | | | | | - free empty_blk if it's allocated and there's an error - only free empty_blk if it's non-NULL. While POSIX requests such free()s to be safe, some implementations (eg Solaris) aren't compliant. Found-by: Coverity Scan Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* cbootimage: simplify codePatrick Georgi2014-10-021-1/+1
| | | | | | | | | Testing for e == 0 after exiting the function in any other case a couple of lines earlier is useless. Found-by: Coverity Scan Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* configure.ac: Don't search for c++ compilerPatrick Georgi2014-10-021-1/+0
| | | | | | | There is no C++ code to be compiled in the repository. Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Bump to version 1.4v1.4Allen Martin2014-07-151-1/+1
| | | | | | Create a release that includes Tegra132 support. Signed-off-by: Allen Martin <amartin@nvidia.com>
* Dump MTS information by bct_dump utility.Vince Hsu2014-07-151-0/+40
| | | | | | | The MTS is only for Tegra132 now. Signed-off-by: Vince Hsu <vinceh@nvidia.com> Acked-by: Allen Martin <amartin@nvidia.com>
* Add Tegra132 support for the cbootimage utilityVince Hsu2014-07-1513-151/+3362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Tegra132. This are only slight differences between Tegra124 and Tegra132. The command line usage is exactly the same as other platforms like Tegra124. The structure nvboot_mts_info is added into the bct for Tegra132. So the bootrom and first stage bootloader know where to load the preboot and mts images. Two parse items "Mts=" and "MtsPreboot=" are added to embedded MTS images in BCT image like what we do for bootloader. The syntax is also the same. For example: MtsPreboot = <preboot_image>,<load_address>,<entry_address>,Complete; Mts = <mts_image>,<load_address>,<entry_address>,Complete; The load and entry addresses depned on your board design. Four files are added in src/t132: nvbctlib_t132.c - is cloned from nvbctlib_t124.c and adds mts information getter and setter. nvboot_bct_t132.h - adds mts structure into bct nvboot_sdram_param_t132.h - clone of nvboot_sdram_param_t124.h parse_t132.c - clone of parse_t124.c Signed-off-by: Vince Hsu <vinceh@nvidia.com> Acked-by: Allen Martin <amartin@nvidia.com>
* Rename last_bl_blk to last_blkVince Hsu2014-07-152-2/+3
| | | | | | | | Also update the next_bct_blk. Then we have the correct pointer to the next block for the next image write. Signed-off-by: Vince Hsu <vinceh@nvidia.com> Acked-by: Allen Martin <amartin@nvidia.com>
* Bump to version 1.3v1.3Stephen Warren2014-04-161-1/+1
| | | | | | | Create a release that includes support for JTAG control, chip UUID, and the ability to update an existing image. Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add update BCT configs featurePenny Chiu2014-04-1511-37/+214
| | | | | | | | | This feature reads the BCT data from BCT or BCT with bootloader appended binary, updates the BCT data based on config file, then writes to new image file. Signed-off-by: Penny Chiu <pchiu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add Tegra124 bct data access for jtag control and chip uidPenny Chiu2014-04-156-15/+138
| | | | | | | | | Add support for read secure_jtag_control and unique_chip_id from cfg file and write them into BCT structure, and bct_dump can also parse the two fields and show the data. Signed-off-by: Penny Chiu <pchiu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Use block_size and page_size tokens when dump BCT dataPenny Chiu2014-04-155-13/+58
| | | | | | | | | Change to use block_size and page_size tokens instead of block_size_log2 and page_size_log2 tokens when dump BCT data. Signed-off-by: Penny Chiu <pchiu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add token_supported functionPenny Chiu2014-04-157-0/+120
| | | | | | | | | Add a function called token_supported in cbootimage_soc_config. It is used to check if the input token is supported in specific tegra soc. Signed-off-by: Penny Chiu <pchiu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Accept void pointer as input data type for get/set_value functionsPenny Chiu2014-04-1510-69/+75
| | | | | | | | | | This change uses void * as input data type for cbootimage_soc_config.get/set_value and context_set_value functions. This makes the functions can accept various data types based on different tokens. Signed-off-by: Penny Chiu <pchiu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add page_size validation when setting page_size valuePenny Chiu2014-04-151-0/+5
| | | | | | | | The valid page_size value should be a power of two, so add this check when setting page_size value. Signed-off-by: Penny Chiu <pchiu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add format functions to express BCT and bootloader data valuePenny Chiu2014-04-151-21/+38
| | | | | | | | Add a new field to the value_data table, which is the function to use to format the data value. Signed-off-by: Penny Chiu <pchiu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Bump to version 1.2v1.2Stephen Warren2013-08-281-1/+1
| | | | | | | Create a release that includes Tegra124 support. Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Thierry Reding <treding@nvidia.com>
* Implement --soc command-line optionStephen Warren2013-08-281-4/+16
| | | | | | | | | | | Implement command-line option "-s tegra20" and "--soc tegra20". These mirror the existing -t/--tegra option, but require the full chip name (tegra20) rather than an abbreviated name (-t20). This is more consistent with just about everything else upstream. Suggested-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Thierry Reding <treding@nvidia.com>
* Add Tegra124 supportPenny Chiu2013-08-279-3/+2816
| | | | | | | | | Add the Tegra124 chip support to cbootimage. User can use "-t124" as option to parse .cfg and generate BCT/image for Tegra124. Signed-off-by: Penny Chiu <pchiu@nvidia.com> [swarren, modified change to usage() to avoid re-indenting it all] Signed-off-by: Stephen Warren <swarren@nvidia.com>
* crypto: produce consistent hash for zero-length dataStephen Warren2013-08-272-2/+2
| | | | | | | | | | | | | | | | | | | In real-world use-cases, hashing zero-length data likely never happens. However, it is relevant when testing cbootimage with a dummy zero-length bootloader binary, e.g.: touch u-boot.bin cbootimage -t30 ../tamonten-ng/tegra30.img.cfg tegra30-tec-ng.img In this scenario, it's useful to create a consistent hash, so that one can compare the resultant images before and after applying patches, to check for regressions. Hence, zero out the hash data so it has consistent content if it isn't written to. Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Thierry Reding <treding@nvidia.com>
* autogen.sh: allow spaces in configure argumentsStephen Warren2013-08-261-2/+1
| | | | | | | | Using "$@" (rather than #@) quotes any arguments if required. This is useful if you want to run ./autogen.sh CFLAGS="-ggdb -O0". Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Thierry Reding <treding@nvidia.com>
* Add automake option subdir-objects to prevent warningsStefan Agner2013-08-232-0/+3
| | | | | | | | | | The SoC specific code is in subdirectories which leads to warnings in newer automake versions. The option subdir-objects prevents those warnings. Signed-off-by: Stefan Agner <stefan@agner.ch> Reviewed-by: Thierry Reding <thierry.reding@gmail.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Bump version to 1.1v1.1Allen Martin2013-06-121-1/+1
| | | | | Signed-off-by: Allen Martin <amartin@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com>
* Add support for Tegra114 SPI boot devicePenny Chiu2013-06-104-2/+91
| | | | | | | | This patch adds SpiFlashParams to generate/dump BCT for SPI flash. Signed-off-by: Penny Chiu <pchiu@nvidia.com> Acked-by: Allen Martin <amartin@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Fix assert with help output onlyMarc Dietrich2013-04-121-2/+2
| | | | | | | | This moves an assert down if only "-h" and not SOC is given on the command line. Signed-off-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Add autotools supportv1.0Allen Martin2013-04-095-74/+108
| | | | | | | | | | | | Remove previous hardcoded GNUmakefile and replace with autoconf/automake generated configure script and Makefile. Signed-off-by: Allen Martin <amartin@nvidia.com> Change-Id: I48d3f6f20423109dc662418b92900876a8f8d1da Reviewed-on: http://git-master/r/217547 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com>
* Add missing header filesAllen Martin2013-04-092-0/+2
| | | | | | | | | | | | This is in preparation of switching to autotools, add explicit #includes for header files where there was an implicit dependency. Signed-off-by: Allen Martin <amartin@nvidia.com> Change-Id: I8ca5832638ac7043f2b4e687c52bbe6e0a755eef Reviewed-on: http://git-master/r/217546 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com>
* Move all source files to subdir "src"Allen Martin2013-04-0928-0/+0
| | | | | | | | | | | | This is in preparation for adding autotools support to help separate the source code from the build support files. Signed-off-by: Allen Martin <amartin@nvidia.com> Change-Id: I128c258db7bbf2c1adf34fbaad188ea7678b79ff Reviewed-on: http://git-master/r/217545 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com>
* Add install targetMarc Dietrich2013-02-121-0/+4
| | | | | | | | | | | | | This adds an install target to the Makefile. cbootimage and bct_dump are installed to /usr/bin. Signed-off-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Stephen Warren <swarren@nvidia.com> Change-Id: Ib4aba674a7ca206d5de998c649b65772312d510c Reviewed-on: http://git-master/r/200182 Reviewed-by: Allen Martin <amartin@nvidia.com> Reviewed-by: Rhyland Klein <rklein@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
* Fix type of variable used to store fgetc() resultStephen Warren2013-01-171-1/+1
| | | | | | | | | | | | | | | | | | | fgetc() returns an int. Fix process_config_file() to store the result in an int, so that comparisons against EOF succeed. Previously, If "char" defaulted to unsigned (which may be true for armhf), then when fgetc() returned -1, it would be truncated to 255 when stored in the char, and then zero-filled rather than sign-extended when comparing against EOF, which would then fail. See http://code.google.com/p/chromium-os/issues/detail?id=25632. Reported-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Stephen Warren <swarren@nvidia.com> Change-Id: I018e32df9a87b7c6f9fe24d108e091a7b31a50c8 Reviewed-on: http://git-master/r/192151 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Allen Martin <amartin@nvidia.com>
* Add Tegra114 support for emmc boot devicePenny Chiu2013-01-119-2/+2799
| | | | | | | | | | | | Add the Tegra114 chip support to cbootimage. User can use "-t114" as option to parse .cfg and generate BCT/image for Tegra114. Change-Id: I02bd3f633afccd2c9c0b01d43ed4660fa4b82ae0 Signed-off-by: Penny Chiu <pchiu@nvidia.com> Reviewed-on: http://git-master/r/169619 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rhyland Klein <rklein@nvidia.com> Reviewed-by: Stephen Warren <swarren@nvidia.com>
* Rewrite the interface for T20/T30 bct data accessPenny Chiu2013-01-1114-182/+223
| | | | | | | | | | | | | | | | Create a structure called cbootimage_soc_config that defines a chip, and data tables and functions for that chip. The main function just sets appropriate instance based on boot_data_version, then uses the same interface to access different chip bct data. Change-Id: I58fbc07012dce8947467c0bea62e2a50126d54fe Signed-off-by: Penny Chiu <pchiu@nvidia.com> Reviewed-on: http://git-master/r/173670 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rhyland Klein <rklein@nvidia.com> Reviewed-by: Stephen Warren <swarren@nvidia.com>
* Fix warningsStephen Warren2012-11-302-11/+1
| | | | | | | | | | | warning: variable ‘...’ set but not used warning: comparison between pointer and integer Change-Id: Ia0b6b4ffca61bfc94a118591578e1b0af55a703f Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-on: http://git-master/r/167565 Reviewed-by: Eric Brower <ebrower@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
* bct_dump: dump the ODMDATA valueStephen Warren2012-11-301-0/+1
| | | | | | | | | | | | And leave a blank line after it, to emulate the layout of configurations in cbootimage-configs.git. Change-Id: Ic0ad7622503786df0c38e5ef60e6df5dc722bc4e Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-on: http://git-master/r/167475 Reviewed-by: Allen Martin <amartin@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Eric Brower <ebrower@nvidia.com>
* Indent bct_dump.c's tables with spaces not TABSStephen Warren2012-11-301-5/+5
| | | | | | | | | | Signed-off-by: Stephen Warren <swarren@nvidia.com> Change-Id: I197d36c023eb7aef671b60cde59beed97c4e6683 Reviewed-on: http://git-master/r/167548 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rhyland Klein <rklein@nvidia.com> Reviewed-by: Eric Brower <ebrower@nvidia.com> Reviewed-by: Allen Martin <amartin@nvidia.com>
* Switch to GPL-v2-only licenseStephen Warren2012-11-3025-367/+650
| | | | | | | | | | | | | ... and paste in the standard NVIDIA license header formatting, and add a copy of the GPLv2 in COPYING. Change-Id: I7ef29d4652e09776b03aa9873db5926c80f06f60 Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-on: http://git-master/r/167474 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Eric Brower <ebrower@nvidia.com> Tested-by: Eric Brower <ebrower@nvidia.com> Reviewed-by: Allen Martin <amartin@nvidia.com>