diff options
author | Aaron Durbin <adurbin@chromium.org> | 2013-03-07 23:15:06 -0600 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2013-03-22 00:16:14 +0100 |
commit | dd32a31fbafafb6fa3dd1dc342884ffe88a7aa04 (patch) | |
tree | 52926067a5aa94c7eaa4cd2e6cd9ea7db70a30f4 /src/vendorcode | |
parent | d02bb62a4fefcb39063bc058afb60521fe819bad (diff) | |
download | coreboot-dd32a31fbafafb6fa3dd1dc342884ffe88a7aa04.tar.gz coreboot-dd32a31fbafafb6fa3dd1dc342884ffe88a7aa04.tar.bz2 coreboot-dd32a31fbafafb6fa3dd1dc342884ffe88a7aa04.zip |
coreboot: add vboot_handoff to coreboot tables
The vboot_handoff structure contians the VbInitParams as well as the
shared vboot data. In order for the boot loader to find it, the
structure address and size needs to be obtained from the coreboot
tables.
Change-Id: I6573d479009ccbf373a7325f861bebe8dc9f5cf8
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/2857
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/vendorcode')
-rw-r--r-- | src/vendorcode/google/chromeos/chromeos.c | 14 | ||||
-rw-r--r-- | src/vendorcode/google/chromeos/chromeos.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/vendorcode/google/chromeos/chromeos.c b/src/vendorcode/google/chromeos/chromeos.c index 559f1f0fdd15..abe710415255 100644 --- a/src/vendorcode/google/chromeos/chromeos.c +++ b/src/vendorcode/google/chromeos/chromeos.c @@ -66,4 +66,18 @@ void *vboot_get_payload(int *len) return (void *)fwc->address; } + +int vboot_get_handoff_info(void **addr, uint32_t *size) +{ + struct vboot_handoff *vboot_handoff; + + vboot_handoff = cbmem_find(CBMEM_ID_VBOOT_HANDOFF); + + if (vboot_handoff == NULL) + return -1; + + *addr = vboot_handoff; + *size = sizeof(*vboot_handoff); + return 0; +} #endif diff --git a/src/vendorcode/google/chromeos/chromeos.h b/src/vendorcode/google/chromeos/chromeos.h index 8410707a9b32..d2410857eec8 100644 --- a/src/vendorcode/google/chromeos/chromeos.h +++ b/src/vendorcode/google/chromeos/chromeos.h @@ -49,6 +49,8 @@ void init_chromeos(int bootmode); struct romstage_handoff; void vboot_verify_firmware(struct romstage_handoff *handoff); void *vboot_get_payload(int *len); +/* Returns 0 on success < 0 on error. */ +int vboot_get_handoff_info(void **addr, uint32_t *size); #endif #endif |