[coreboot-gerrit] New patch to review for coreboot: 64ba575 libpayload: Add vboot handoff parsing on ARM

Isaac Christensen (isaac.christensen@se-eng.com) gerrit at coreboot.org
Mon Sep 15 21:30:54 CEST 2014


Isaac Christensen (isaac.christensen at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6906

-gerrit

commit 64ba575201f06d54cd30d6051e8bcab29163547b
Author: Stefan Reinauer <reinauer at chromium.org>
Date:   Wed Nov 13 15:28:01 2013 -0800

    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.
    
    Change-Id: I96c6c04a0cee39854b45f2eda169e93461da0694
    Signed-off-by: Stefan Reinauer <reinauer at google.com>
    Reviewed-on: https://chromium-review.googlesource.com/176757
    Reviewed-by: Gabe Black <gabeblack at chromium.org>
    Commit-Queue: Stefan Reinauer <reinauer at chromium.org>
    Tested-by: Stefan Reinauer <reinauer at chromium.org>
    (cherry picked from commit cf26be4cb527b0fc4212d401a8c77ceb1c7992d0)
    Signed-off-by: Isaac Christensen <isaac.christensen at se-eng.com>
---
 payloads/libpayload/arch/arm/coreboot.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/payloads/libpayload/arch/arm/coreboot.c b/payloads/libpayload/arch/arm/coreboot.c
index 1397fc1..b91db32 100644
--- a/payloads/libpayload/arch/arm/coreboot.c
+++ b/payloads/libpayload/arch/arm/coreboot.c
@@ -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 lb_range *vbnv = (struct lb_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);



More information about the coreboot-gerrit mailing list