diff options
author | Joel Kitching <kitching@google.com> | 2019-06-14 14:00:10 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-06-14 21:44:51 +0000 |
commit | 01b1a94bcc62cc15d2f7f405385f6f99309f9134 (patch) | |
tree | e2e0aa7e389372ff282cbd4ac22fabe89b313d3a | |
parent | 5306ca28f4c077cb3e1dac0e0e7bbb35ef37687c (diff) | |
download | vboot-01b1a94bcc62cc15d2f7f405385f6f99309f9134.tar.gz |
vboot: add vb2api_gbb_get_flags function
BUG=b:124141368, chromium:954774
TEST=make clean && make runtests
BRANCH=none
Change-Id: I7b422e8a26621720a6b7efc5211629996a6aa385
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1659989
Tested-by: Joel Kitching <kitching@chromium.org>
Commit-Queue: Julius Werner <jwerner@chromium.org>
Auto-Submit: Joel Kitching <kitching@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
-rw-r--r-- | firmware/2lib/2gbb.c | 6 | ||||
-rw-r--r-- | firmware/2lib/include/2api.h | 11 | ||||
-rw-r--r-- | tests/vb2_gbb_tests.c | 9 |
3 files changed, 26 insertions, 0 deletions
diff --git a/firmware/2lib/2gbb.c b/firmware/2lib/2gbb.c index 75eed57e..8a7c57c5 100644 --- a/firmware/2lib/2gbb.c +++ b/firmware/2lib/2gbb.c @@ -122,3 +122,9 @@ int vb2api_gbb_read_hwid(struct vb2_context *ctx, return VB2_SUCCESS; } + +vb2_gbb_flags_t vb2api_gbb_get_flags(struct vb2_context *ctx) +{ + struct vb2_gbb_header *gbb = vb2_get_gbb(ctx); + return gbb->flags; +} diff --git a/firmware/2lib/include/2api.h b/firmware/2lib/include/2api.h index 9cab74e9..487616d4 100644 --- a/firmware/2lib/include/2api.h +++ b/firmware/2lib/include/2api.h @@ -664,6 +664,17 @@ int vb2api_gbb_read_hwid(struct vb2_context *ctx, char *hwid, uint32_t *size); +/** + * Retrieve current GBB flags. + * + * See enum vb2_gbb_flag in 2gbb_flags.h for a list of all GBB flags. + * + * @param ctx Vboot context. + * + * @return vb2_gbb_flags_t representing current GBB flags. + */ +vb2_gbb_flags_t vb2api_gbb_get_flags(struct vb2_context *ctx); + /*****************************************************************************/ /* APIs provided by the caller to verified boot */ diff --git a/tests/vb2_gbb_tests.c b/tests/vb2_gbb_tests.c index 0c5eff5e..a7ff9b35 100644 --- a/tests/vb2_gbb_tests.c +++ b/tests/vb2_gbb_tests.c @@ -88,6 +88,14 @@ int vb2ex_read_resource(struct vb2_context *c, } /* Tests */ +static void flag_tests(void) +{ + reset_common_data(); + gbb->flags = 0xdeadbeef; + TEST_EQ(vb2api_gbb_get_flags(&ctx), gbb->flags, + "retrieve GBB flags"); +} + static void key_tests(void) { /* Assume that root key and recovery key are dealt with using the same @@ -343,6 +351,7 @@ static void hwid_tests(void) int main(int argc, char* argv[]) { + flag_tests(); key_tests(); hwid_tests(); |