The series include refactoring on bloblist and fdtdec to support handoff of multiple DT overlays and applying them into the DT base during setup. All changes are aligned to the spec update for supporting DT overlay handoff[1].
Notes for testing: Currently DT overlay is not yet enabled in TF-A, but with the test patches I provided for TF-A and OP-TEE build, importing a DT overlay blob file from QEMU to TF-A reserved memory is supported. Follow below instructions to build and run for test: $ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml Replace your local qemu_v8.xml with [2], which contains all necessary changes in both TF-A and OP-TEE build. $ repo sync $ cd build $ make toolchains $ make ARM_FIRMWARE_HANDOFF=y all Copy and rename your DT overlay blob as 'qemu_v8.dtb' into out/bin $ make ARM_FIRMWARE_HANDOFF=y run-only [1] Add Transfer Entry for Devicetree Overlay https://github.com/FirmwareHandoff/firmware_handoff/pull/74 [2] https://github.com/raymo200915/optee_manifest/blob/dt_overlay_handoff/qemu_v8.xml Raymond Mao (6): bloblist: add blob type for DT overlay bloblist: add helper functions bloblist: fix a potential negative size for memmove bloblist: add API for applying blobs with specified tag fdtdec: apply DT overlays from bloblist configs: Select OF_LIBFDT_OVERLAY to hand over DTO via bloblist common/bloblist.c | 67 ++++++++++++++++++++- configs/qemu_arm64_defconfig | 1 + configs/vexpress_fvp_bloblist_defconfig | 1 + include/bloblist.h | 34 ++++++++++- lib/fdtdec.c | 80 +++++++++++++++++++++++++ 5 files changed, 181 insertions(+), 2 deletions(-) -- 2.25.1