summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/vendorcode/google/chromeos/memlayout.h2
-rw-r--r--src/vendorcode/google/chromeos/vboot2/verstub.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/src/vendorcode/google/chromeos/memlayout.h b/src/vendorcode/google/chromeos/memlayout.h
index a7ea32e00e..9a1009324a 100644
--- a/src/vendorcode/google/chromeos/memlayout.h
+++ b/src/vendorcode/google/chromeos/memlayout.h
@@ -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__
diff --git a/src/vendorcode/google/chromeos/vboot2/verstub.c b/src/vendorcode/google/chromeos/vboot2/verstub.c
index 86c6e1ce2a..c4319ba256 100644
--- a/src/vendorcode/google/chromeos/vboot2/verstub.c
+++ b/src/vendorcode/google/chromeos/vboot2/verstub.c
@@ -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;