summaryrefslogtreecommitdiff
path: root/payloads/libpayload
diff options
context:
space:
mode:
authorYu-Ping Wu <yupingso@chromium.org>2019-11-26 13:31:32 +0800
committerPatrick Georgi <pgeorgi@google.com>2019-12-02 13:00:45 +0000
commit63b9700b2ca0f2414ff242881bae9bfd77fdb138 (patch)
treea770abe4c7d45b7d6caded011886c987c61a4b55 /payloads/libpayload
parenta2962daf6fd1e184b7444feabe3f963a9ba614d7 (diff)
lib/coreboot_table: Add CBMEM_ID_VBOOT_WORKBUF pointer to coreboot table
Since struct vb2_shared_data already contains workbuf_size and vboot_workbuf_size is never used in depthcharge, remove it from struct sysinfo_t. In addition, remove lb_vboot_workbuf() and add CBMEM_ID_VBOOT_WORKBUF pointer to coreboot table with add_cbmem_pointers(). Parsing of coreboot table in libpayload is modified accordingly. BRANCH=none BUG=chromium:1021452 TEST=emerge-nami coreboot libpayload depthcharge; Akali booted correctly Change-Id: I890df3ff93fa44ed6d3f9ad05f9c6e49780a8ecb Signed-off-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37234 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Joel Kitching <kitching@google.com> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'payloads/libpayload')
-rw-r--r--payloads/libpayload/include/sysinfo.h1
-rw-r--r--payloads/libpayload/libc/coreboot.c5
2 files changed, 1 insertions, 5 deletions
diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h
index c05be7c159..4b929f1390 100644
--- a/payloads/libpayload/include/sysinfo.h
+++ b/payloads/libpayload/include/sysinfo.h
@@ -96,7 +96,6 @@ struct sysinfo_t {
struct cb_mainboard *mainboard;
void *vboot_workbuf;
- uint32_t vboot_workbuf_size;
#if CONFIG(LP_ARCH_X86)
int x86_rom_var_mtrr_index;
diff --git a/payloads/libpayload/libc/coreboot.c b/payloads/libpayload/libc/coreboot.c
index 2ff2090c19..f6e937923e 100644
--- a/payloads/libpayload/libc/coreboot.c
+++ b/payloads/libpayload/libc/coreboot.c
@@ -86,10 +86,7 @@ static void cb_parse_serial(void *ptr, struct sysinfo_t *info)
static void cb_parse_vboot_workbuf(unsigned char *ptr, struct sysinfo_t *info)
{
- struct lb_range *vbwb = (struct lb_range *)ptr;
-
- info->vboot_workbuf = (void *)(uintptr_t)vbwb->range_start;
- info->vboot_workbuf_size = vbwb->range_size;
+ info->vboot_workbuf = get_cbmem_ptr(ptr);
}
static void cb_parse_vbnv(unsigned char *ptr, struct sysinfo_t *info)