diff options
Diffstat (limited to 'payloads/libpayload/arch/x86')
-rw-r--r-- | payloads/libpayload/arch/x86/coreboot.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/payloads/libpayload/arch/x86/coreboot.c b/payloads/libpayload/arch/x86/coreboot.c index d39af4ab5d..e8bc380fc8 100644 --- a/payloads/libpayload/arch/x86/coreboot.c +++ b/payloads/libpayload/arch/x86/coreboot.c @@ -79,6 +79,14 @@ static void cb_parse_serial(void *ptr, struct sysinfo_t *info) } #ifdef CONFIG_CHROMEOS +static void cb_parse_vboot_handoff(unsigned char *ptr, struct sysinfo_t *info) +{ + struct cb_vboot_handoff *vbho = (struct cb_vboot_handoff *)ptr; + + info->vboot_handoff = vbho->vboot_handoff_addr; + info->vboot_handoff_size = vbho->vboot_handoff_size; +} + static void cb_parse_vbnv(unsigned char *ptr, struct sysinfo_t *info) { struct cb_vbnv *vbnv = (struct cb_vbnv *)ptr; @@ -258,6 +266,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_TIMESTAMPS: cb_parse_tstamp(ptr, info); |