summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2016-10-04 09:48:18 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-10-19 11:38:52 -0700
commit3875e6191f24ceb83415f553ca91dcac7b71073b (patch)
treee8b48dfa7edb55c2e9ef676732cec20ed97faf67
parent77d9dd0dd58d2cac1ea6aa8873491afcf2441945 (diff)
downloadvboot-3875e6191f24ceb83415f553ca91dcac7b71073b.tar.gz
bdb: Add --load_address to futility-bdb --create
This change makes futility-bdb --create take --load_address parameter, which sets the load address field in the BDB header. BUG=chromium:649554 BRANCH=none TEST=make runtests $ futility bdb --resign test/futility/data/bin.bdb --data_version 2 then futility show --type bdb test/futility/data/bin.bdb Change-Id: Ib4dec86c2a043e0989c91bbc01f39776e3630e4c Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/399594 Commit-Ready: Daisuke Nojiri <dnojiri@google.com> Tested-by: Daisuke Nojiri <dnojiri@google.com> Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r--futility/cmd_bdb.c8
-rwxr-xr-xtests/futility/test_bdb.sh5
2 files changed, 9 insertions, 4 deletions
diff --git a/futility/cmd_bdb.c b/futility/cmd_bdb.c
index d3c06728..ffd575b7 100644
--- a/futility/cmd_bdb.c
+++ b/futility/cmd_bdb.c
@@ -158,7 +158,8 @@ static int do_create(const char *bdb_filename,
uint32_t bdbkey_version,
const char *datakey_pri_filename,
const char *datakey_pub_filename,
- uint32_t datakey_version)
+ uint32_t datakey_version,
+ uint64_t load_address)
{
struct bdb_key *bdbkey;
struct bdb_key *datakey;
@@ -186,7 +187,7 @@ static int do_create(const char *bdb_filename,
}
memset(&params, 0, sizeof(params));
- params.bdb_load_address = -1;
+ params.bdb_load_address = load_address;
params.bdbkey = bdbkey;
params.datakey = datakey;
params.private_bdbkey = bdbkey_pri;
@@ -530,6 +531,7 @@ static void print_help(int argc, char *argv[])
" --bdbkey_pub <file> BDB key in .keyb format\n"
" --datakey_pri <file> Data key in .pem format\n"
" --datakey_pub <file> Data key in .keyb format\n"
+ " --load_address <number> BDB load address\n"
"\n"
"For '--resign <bdb_file> [OPTIONS]', optional OPTIONS are:\n"
" --bdbkey_pri <file> New BDB key in .pem format\n"
@@ -686,7 +688,7 @@ static int do_bdb(int argc, char *argv[])
return do_create(bdb_filename, bdbkey_pri_filename,
bdbkey_pub_filename, bdbkey_version,
datakey_pri_filename, datakey_pub_filename,
- datakey_version);
+ datakey_version, load_address);
case OPT_MODE_RESIGN:
return do_resign(bdb_filename, bdbkey_pri_filename,
bdbkey_pub_filename, bdbkey_version,
diff --git a/tests/futility/test_bdb.sh b/tests/futility/test_bdb.sh
index eef1a98c..0f0c0249 100755
--- a/tests/futility/test_bdb.sh
+++ b/tests/futility/test_bdb.sh
@@ -55,10 +55,13 @@ check_field() {
}
# Demonstrate bdb --create can create a valid BDB
+load_address=0x60061ec0de
${FUTILITY} bdb --create ${BDB_FILE} \
--bdbkey_pri ${BDBKEY_PRI} --bdbkey_pub ${BDBKEY_PUB} \
- --datakey_pub ${DATAKEY_PUB} --datakey_pri ${DATAKEY_PRI}
+ --datakey_pub ${DATAKEY_PUB} --datakey_pri ${DATAKEY_PRI} \
+ --load_address ${load_address}
verify
+check_field "Load Address:" ${load_address}
# Demonstrate bdb --add can add a new hash
num_hash=$(get_num_hash)