From 3875e6191f24ceb83415f553ca91dcac7b71073b Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Tue, 4 Oct 2016 09:48:18 -0700 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/399594 Commit-Ready: Daisuke Nojiri Tested-by: Daisuke Nojiri Reviewed-by: Randall Spangler --- futility/cmd_bdb.c | 8 +++++--- tests/futility/test_bdb.sh | 5 ++++- 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(¶ms, 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 BDB key in .keyb format\n" " --datakey_pri Data key in .pem format\n" " --datakey_pub Data key in .keyb format\n" + " --load_address BDB load address\n" "\n" "For '--resign [OPTIONS]', optional OPTIONS are:\n" " --bdbkey_pri 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) -- cgit v1.2.1