vboot: make vboot workbuf available to payload

Create a new cbtable entry called VBOOT_WORKBUF for
storing a pointer to the vboot workbuf within the
vboot_working_data structure.

BUG=b:124141368, b:124192753
TEST=Build and deploy to eve
TEST=util/lint/checkpatch.pl -g origin/master..HEAD
TEST=util/abuild/abuild -B -e -y -c 50 -p none -x
BRANCH=none

Change-Id: Id68f43c282939d9e1b419e927a14fe8baa290d91
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/31887
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Joel Kitching
2019-03-13 18:10:52 +08:00
committed by Patrick Georgi
parent 55fb6b4d0d
commit 8d0f59935d
7 changed files with 57 additions and 27 deletions

View File

@ -25,24 +25,6 @@
#include <security/vboot/symbols.h>
#include <security/vboot/vboot_common.h>
struct selected_region {
uint32_t offset;
uint32_t size;
};
/*
* this is placed at the start of the vboot work buffer. selected_region is used
* for the verstage to return the location of the selected slot. buffer is used
* by the vboot2 core. Keep the struct CPU architecture agnostic as it crosses
* stage boundaries.
*/
struct vboot_working_data {
struct selected_region selected_region;
/* offset of the buffer from the start of this struct */
uint32_t buffer_offset;
uint32_t buffer_size;
};
/* TODO(kitching): Use VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE instead. */
static size_t vboot_working_data_size(void)
{
@ -56,7 +38,7 @@ static size_t vboot_working_data_size(void)
die("impossible!");
}
static struct vboot_working_data * const vboot_get_working_data(void)
struct vboot_working_data * const vboot_get_working_data(void)
{
struct vboot_working_data *wd = NULL;