mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-25 18:55:24 +00:00
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:
@@ -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);
|
||||
|
||||
@@ -173,8 +173,9 @@ VbError_t VbExEcHashRW(const uint8_t **hash, int *hash_size) {
|
||||
return VBERROR_SUCCESS;
|
||||
}
|
||||
|
||||
VbError_t VbExEcGetExpectedRW(const uint8_t **image, int *image_size) {
|
||||
static const uint8_t fake_image[64] = {5, 6, 7, 8};
|
||||
VbError_t VbExEcGetExpectedRW(enum VbSelectFirmware_t select, uint8_t **image,
|
||||
int *image_size) {
|
||||
static uint8_t fake_image[64] = {5, 6, 7, 8};
|
||||
*image = fake_image;
|
||||
*image_size = sizeof(fake_image);
|
||||
return VBERROR_SUCCESS;
|
||||
|
||||
Reference in New Issue
Block a user