vboot2 workbuf alignment is now 16 bytes, not 8

BUG=chromium:452179
BRANCH=ToT
CQ-DEPEND=CL:243362
TEST=manual

  emerge-veyron_pinky coreboot

Original-Change-Id: Ibcbaea2990e5e06ea7cfaaa5412ef7c1477f5fcc
Original-Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/243380
Original-Reviewed-by: Randall Spangler <rspangler@chromium.org>

(cherry picked from commit 8e5c18eeb21944bdcb064b4491c6781d16ef5608)
Signed-off-by: Aaron Durbin <adurbin@chromium.org>

Change-Id: I26f6fb67655cb1dfbdcdc48530ef6bfeb1aa692a
Reviewed-on: http://review.coreboot.org/9705
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
Bill Richardson 2015-01-26 13:11:31 -08:00 committed by Aaron Durbin
parent cdf92eacd5
commit 5aecacca05
2 changed files with 6 additions and 3 deletions

View File

@ -26,7 +26,7 @@
* and algorithm -- what works for you might stop working after an update. Do
* NOT lower the asserted minimum without consulting vboot devs (rspangler)! */
#define VBOOT2_WORK(addr, size) \
REGION(vboot2_work, addr, size, 8) \
REGION(vboot2_work, addr, size, 16) \
_ = ASSERT(size >= 12K, "vboot2 work buffer must be at least 12K!");
#ifdef __VERSTAGE__

View File

@ -32,8 +32,11 @@ static struct vb2_working_data *init_vb2_working_data(void)
wd = vboot_get_working_data();
memset(wd, 0, _vboot2_work_size);
/* 8-byte alignment for ARMv7 */
wd->buffer_offset = ALIGN_UP(sizeof(*wd), 8);
/*
* vboot prefers 16-byte alignment. This takes away 16 bytes
* from the VBOOT2_WORK region, but the vboot devs said that's okay.
*/
wd->buffer_offset = ALIGN_UP(sizeof(*wd), 16);
wd->buffer_size = _vboot2_work_size - wd->buffer_offset;
return wd;