soc/intel/common: Allow exporting the size of the VBT

Change-Id: Ib340aad846ea7cb61d650928b495efaa1fc2d641
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/26038
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Patrick Georgi 2018-05-03 19:15:00 +02:00
parent d2990ff5a3
commit 765120383b
2 changed files with 10 additions and 4 deletions

View File

@ -33,7 +33,7 @@ const char *mainboard_vbt_filename(void)
static char vbt_data[8 * KiB];
static int vbt_data_used;
void *locate_vbt(void)
void *locate_vbt(size_t *vbt_size)
{
uint32_t vbtsig = 0;
@ -48,6 +48,9 @@ void *locate_vbt(void)
if (file_size == 0)
return NULL;
if (vbt_size)
*vbt_size = file_size;
memcpy(&vbtsig, vbt_data, sizeof(vbtsig));
if (vbtsig != VBT_SIGNATURE) {
printk(BIOS_ERR, "Missing/invalid signature in VBT data file!\n");
@ -72,5 +75,5 @@ void *vbt_get(void)
return NULL;
if (!display_init_required())
return NULL;
return locate_vbt();
return locate_vbt(NULL);
}

View File

@ -27,8 +27,11 @@
*/
const char *mainboard_vbt_filename(void);
/* locate vbt.bin file. Returns a pointer to its content. */
void *locate_vbt(void);
/*
* locate vbt.bin file. Returns a pointer to its content.
* If vbt_size is non-NULL, also return the vbt's size.
*/
void *locate_vbt(size_t *vbt_size);
/*
* Returns VBT pointer and mapping after checking prerequisites for Pre OS
* Graphics initialization