diff options
author | Furquan Shaikh <furquan@google.com> | 2016-07-22 06:59:40 -0700 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2016-07-25 18:55:35 +0200 |
commit | a6c5ddd595e145ffd091a9fcadb5e0ffbf0fa8d1 (patch) | |
tree | 1e5355202ab90185b8ab4ecf1cc75ae1f66bd9ba /src/vendorcode/google/chromeos/vboot2 | |
parent | 610a33a7f4d8c46df63373477a9b19563189acea (diff) |
vboot: Clean up vboot code
1. Remove unused functions/structures.
2. Add checks for NULL return values.
3. Change prefixes to vb2 instead of vboot for functions used internally
within vboot2/
4. Get rid of vboot_handoff.h file and move the structure definition to
vboot_common.h
5. Rename all functions using handoff structure to have prefix
vboot_handoff_*. All the handoff functions can be run _only_ after cbmem
is online.
6. Organize vboot_common.h content according to different
functionalities.
BUG=chrome-os-partner:55431
Change-Id: I4c07d50327d88cddbdfbb0b6f82c264e2b8620eb
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/15799
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/vendorcode/google/chromeos/vboot2')
4 files changed, 16 insertions, 13 deletions
diff --git a/src/vendorcode/google/chromeos/vboot2/common.c b/src/vendorcode/google/chromeos/vboot2/common.c index 749f328a01..58ea95d219 100644 --- a/src/vendorcode/google/chromeos/vboot2/common.c +++ b/src/vendorcode/google/chromeos/vboot2/common.c @@ -13,6 +13,7 @@ * GNU General Public License for more details. */ +#include <assert.h> #include <cbfs.h> #include <cbmem.h> #include <console/console.h> @@ -21,7 +22,7 @@ #include <vb2_api.h> #include "../chromeos.h" #include "../symbols.h" -#include "../vboot_handoff.h" +#include "../vboot_common.h" #include "misc.h" struct selected_region { @@ -134,19 +135,20 @@ int vb2_get_selected_region(struct region *region) void vb2_set_selected_region(const struct region *region) { struct selected_region *reg = vb2_selected_region(); + + assert(reg != NULL); + reg->offset = region_offset(region); reg->size = region_sz(region); } -int vboot_is_slot_selected(void) +int vb2_is_slot_selected(void) { const struct selected_region *reg = vb2_selected_region(); - return reg->size > 0; -} -int vboot_is_readonly_path(void) -{ - return !vboot_is_slot_selected(); + assert(reg != NULL); + + return reg->size > 0; } void vb2_store_selected_region(void) @@ -160,6 +162,8 @@ void vb2_store_selected_region(void) sel_reg = cbmem_add(CBMEM_ID_VBOOT_SEL_REG, sizeof(*sel_reg)); + assert(sel_reg != NULL); + sel_reg->offset = wd->selected_region.offset; sel_reg->size = wd->selected_region.size; } diff --git a/src/vendorcode/google/chromeos/vboot2/misc.h b/src/vendorcode/google/chromeos/vboot2/misc.h index fc9d2547cb..ca64b378df 100644 --- a/src/vendorcode/google/chromeos/vboot2/misc.h +++ b/src/vendorcode/google/chromeos/vboot2/misc.h @@ -29,8 +29,8 @@ struct vb2_shared_data *vb2_get_shared_data(void); /* Returns 0 on success. < 0 on failure. */ int vb2_get_selected_region(struct region *region); void vb2_set_selected_region(const struct region *region); -int vboot_is_slot_selected(void); -int vboot_is_readonly_path(void); +int vb2_is_slot_selected(void); +int vb2_logic_executed(void); /* Store the selected region in cbmem for later use. */ void vb2_store_selected_region(void); diff --git a/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c b/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c index c89e9a0373..0e2cb84ccf 100644 --- a/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c +++ b/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c @@ -29,7 +29,6 @@ #include <vb2_api.h> #include <vboot_struct.h> #include "../chromeos.h" -#include "../vboot_handoff.h" #include "misc.h" /** diff --git a/src/vendorcode/google/chromeos/vboot2/vboot_loader.c b/src/vendorcode/google/chromeos/vboot2/vboot_loader.c index f6efe0f2c7..7541518f13 100644 --- a/src/vendorcode/google/chromeos/vboot2/vboot_loader.c +++ b/src/vendorcode/google/chromeos/vboot2/vboot_loader.c @@ -21,7 +21,7 @@ #include <rules.h> #include <string.h> #include "misc.h" -#include "../vboot_handoff.h" +#include "../vboot_common.h" #include "../symbols.h" /* The stage loading code is compiled and entered from multiple stages. The @@ -61,7 +61,7 @@ static int verstage_should_load(void) static int vboot_executed CAR_GLOBAL; -static int vboot_logic_executed(void) +int vb2_logic_executed(void) { /* If this stage is supposed to run the vboot logic ensure it has been * executed. */ @@ -139,7 +139,7 @@ static int vboot_locate(struct cbfs_props *props) struct region selected_region; /* Don't honor vboot results until the vboot logic has run. */ - if (!vboot_logic_executed()) + if (!vb2_logic_executed()) return -1; if (vb2_get_selected_region(&selected_region)) |