Change VbExEcGetExpectedRW so that vboot picks an ec image instead of U-Boot.

This changes the signature of the function above so that it takes an additional
parameter that specifies which EC image vboot wants. This is better than making
U-Boot decide because U-Boot doesn't really keep track of which version it is
(it peeks at internal vboot data) and vboot does.

Also, some consts were removed from the image pointer pointer. The pointer
itself will be changed in the body of the function to tell vboot where the EC
has been loaded, and the contents of the buffer will be changed because U-Boot
will have to actually load the EC there.

BUG=chrome-os-partner:11148
TEST=Built vboot_reference, vboot_reference-firmware, chromeos-u-boot, and
chromeos-bootimage for Daisy and Link and saw them complete successfully with
and without the signature for U-Boot's version of this function being updated.
That works because the function isn't actually being used yet.

Change-Id: I2814c8210eb5b3d965bb8bbf23c0f283f9e44c90
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/27755
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Commit-Ready: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
This commit is contained in:
Gabe Black
2012-07-18 02:55:43 -07:00
committed by Gerrit
parent 0c66fee704
commit b1aa7aea2d
2 changed files with 7 additions and 4 deletions

View File

@@ -636,8 +636,10 @@ VbError_t VbExEcStayInRO(void);
/* Read the SHA-256 hash of the rewriteable EC image. */
VbError_t VbExEcHashRW(const uint8_t **hash, int *hash_size);
/* Get the expected contents of the EC image as stored in the main firmware. */
VbError_t VbExEcGetExpectedRW(const uint8_t **image, int *image_size);
/* Get the expected contents of the EC image associated with the main firmware
* specified by the "select" argument. */
VbError_t VbExEcGetExpectedRW(enum VbSelectFirmware_t select, uint8_t **image,
int *image_size);
/* Update the EC rewritable image. */
VbError_t VbExEcUpdateRW(const uint8_t *image, int image_size);