diff options
-rw-r--r-- | src/vendorcode/google/chromeos/memlayout.h | 2 | ||||
-rw-r--r-- | src/vendorcode/google/chromeos/vboot2/verstub.c | 7 |
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; |