util/ifdtool: Correct region resize handling
When regions are resized they are always aligned to the top of the region. For the BIOS region this is correct. The other regions however should be aligned to the bottom of the region. Update the region handling to only align BIOS region to top of region. BUG=N/A TEST=verified image resize Change-Id: Ied0e763b5335f5f124fc00de38e5db1a4d0f6785 Signed-off-by: Wim Vervoorn <wvervoorn@eltan.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/38460 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
This commit is contained in:
parent
42d300533e
commit
05bc9b38a3
|
@ -1358,11 +1358,12 @@ static void new_layout(const char *filename, char *image, int size,
|
|||
if (new->size > current->size) {
|
||||
/* copy from the end of the current region */
|
||||
copy_size = current->size;
|
||||
offset_new = new->size - current->size;
|
||||
if (i == REGION_BIOS)
|
||||
offset_new = new->size - current->size;
|
||||
}
|
||||
|
||||
if (new->size < current->size) {
|
||||
/* copy to the end of the new region */
|
||||
if ((i == REGION_BIOS) && (new->size < current->size)) {
|
||||
/* copy BIOS region to the end of the new region */
|
||||
offset_current = current->size - new->size;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue