mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Merge patch series "Handoff bloblist from previous boot stage"
Raymond Mao <raymond.mao@linaro.org> says: This patch set adds/adapts a few bloblist APIs and implements Arm arch custom function to retrieve the bloblist (aka. Transfer List) from previous loader via boot arguments when BLOBLIST option is enabled and all boot arguments are compliant to the register conventions defined in the Firmware Handoff spec v0.9. If an arch wishes to have different behaviors for loading bloblist from the previous boot stage, it is required to implement the custom function xferlist_from_boot_arg().
This commit is contained in:
@@ -207,7 +207,7 @@ static int bloblist_test_checksum(struct unit_test_state *uts)
|
||||
hdr->flags++;
|
||||
|
||||
hdr->total_size--;
|
||||
ut_asserteq(-EFBIG, bloblist_check(TEST_ADDR, TEST_BLOBLIST_SIZE));
|
||||
ut_asserteq(-EIO, bloblist_check(TEST_ADDR, TEST_BLOBLIST_SIZE));
|
||||
hdr->total_size++;
|
||||
|
||||
hdr->spare++;
|
||||
@@ -376,13 +376,12 @@ static int bloblist_test_reloc(struct unit_test_state *uts)
|
||||
{
|
||||
const uint large_size = TEST_BLOBLIST_SIZE;
|
||||
const uint small_size = 0x20;
|
||||
void *old_ptr, *new_ptr;
|
||||
void *new_ptr;
|
||||
void *blob1, *blob2;
|
||||
ulong new_addr;
|
||||
ulong new_size;
|
||||
|
||||
ut_assertok(bloblist_new(TEST_ADDR, TEST_BLOBLIST_SIZE, 0, 0));
|
||||
old_ptr = map_sysmem(TEST_ADDR, TEST_BLOBLIST_SIZE);
|
||||
|
||||
/* Add one blob and then one that won't fit */
|
||||
blob1 = bloblist_add(TEST_TAG, small_size, 0);
|
||||
@@ -394,8 +393,7 @@ static int bloblist_test_reloc(struct unit_test_state *uts)
|
||||
new_addr = TEST_ADDR + TEST_BLOBLIST_SIZE;
|
||||
new_size = TEST_BLOBLIST_SIZE + 0x100;
|
||||
new_ptr = map_sysmem(new_addr, TEST_BLOBLIST_SIZE);
|
||||
bloblist_reloc(new_ptr, new_size, old_ptr, TEST_BLOBLIST_SIZE);
|
||||
gd->bloblist = new_ptr;
|
||||
ut_assertok(bloblist_reloc(new_ptr, new_size));
|
||||
|
||||
/* Check the old blob is there and that we can now add the bigger one */
|
||||
ut_assertnonnull(bloblist_find(TEST_TAG, small_size));
|
||||
|
||||
Reference in New Issue
Block a user