libpayload: Add vboot handoff parsing on ARM
This is needed by depthcharge on ARM if coreboot is loading its ramstage from the RW section of the ROM. BUG=none BRANCH=none TEST=boot depthcharge on pit Change-Id: I96c6c04a0cee39854b45f2eda169e93461da0694 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: https://chromium-review.googlesource.com/176757 Reviewed-by: Gabe Black <gabeblack@chromium.org> Commit-Queue: Stefan Reinauer <reinauer@chromium.org> Tested-by: Stefan Reinauer <reinauer@chromium.org>
This commit is contained in:
parent
f836e14695
commit
cf26be4cb5
1 changed files with 11 additions and 0 deletions
|
|
@ -79,6 +79,14 @@ static void cb_parse_serial(void *ptr, struct sysinfo_t *info)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_LP_CHROMEOS
|
||||
static void cb_parse_vboot_handoff(unsigned char *ptr, struct sysinfo_t *info)
|
||||
{
|
||||
struct cb_range *vbho = (struct cb_range *)ptr;
|
||||
|
||||
info->vboot_handoff = (void *)(uintptr_t)vbho->range_start;
|
||||
info->vboot_handoff_size = vbho->range_size;
|
||||
}
|
||||
|
||||
static void cb_parse_vbnv(unsigned char *ptr, struct sysinfo_t *info)
|
||||
{
|
||||
struct cb_range *vbnv = (struct cb_range *)ptr;
|
||||
|
|
@ -267,6 +275,9 @@ static int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
|
|||
case CB_TAG_VBNV:
|
||||
cb_parse_vbnv(ptr, info);
|
||||
break;
|
||||
case CB_TAG_VBOOT_HANDOFF:
|
||||
cb_parse_vboot_handoff(ptr, info);
|
||||
break;
|
||||
#endif
|
||||
case CB_TAG_DMA:
|
||||
cb_parse_dma(ptr);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue