Searched hist:"7475815 f4b3697f6c61868e4ae6680baee8b93e2" (Results 1 – 2 of 2) sorted by relevance
| /rk3399_ARM-atf/plat/qemu/common/ |
| H A D | qemu_bl2_setup.c | 7475815f4b3697f6c61868e4ae6680baee8b93e2 Mon May 13 09:27:17 UTC 2024 levi.yun <yeoreum.yun@arm.com> feat(handoff): fix register convention r1/x1 value on transfer list
According to recently firmware handsoff spec [1]'s "Register usage at handoff boundary", Transfer List's signature value was changed from 0x40_b10b (3 bytes) to 4a0f_b10b (4 bytes).
As updating of TL's signature, register value of x1/r1 should be:
In aarch32's r1 value should be R1[23:0]: set to the TL signature (4a0f_b10b -> masked range value: 0f_b10b) R1[31:24]: version of the register convention == 1 and In aarch64's x1 value should be X1[31:0]: set to the TL signature (4a0f_b10b) X1[39:32]: version of the register convention == 1 X1[63:40]: MBZ (See the [2] and [3]).
Therefore, it requires to separate mask and shift value for register convention version field when sets each r1/x1.
This patch fix two problems: 1. breaking X1 value with updated specification in aarch64 - change of length of signature field.
2. previous error value set in R1 in arm32. - length of signature should be 24, but it uses 32bit signature.
This change is breaking change. It requires some patch for other softwares (u-boot[4], optee[5]).
Link: https://github.com/FirmwareHandoff/firmware_handoff [1] Link: https://github.com/FirmwareHandoff/firmware_handoff/issues/32 [2] Link: https://github.com/FirmwareHandoff/firmware_handoff/commit/5aa7aa1d3a1db75213e458d392b751f0707de027 [3] Link: https://lists.denx.de/pipermail/u-boot/2024-July/558628.html [4] Link: https://github.com/OP-TEE/optee_os/pull/6933 [5] Signed-off-by: Levi Yun <yeoreum.yun@arm.com> Change-Id: Ie417e054a7a4c192024a2679419e99efeded1705
|
| /rk3399_ARM-atf/services/spd/opteed/ |
| H A D | opteed_main.c | 7475815f4b3697f6c61868e4ae6680baee8b93e2 Mon May 13 09:27:17 UTC 2024 levi.yun <yeoreum.yun@arm.com> feat(handoff): fix register convention r1/x1 value on transfer list
According to recently firmware handsoff spec [1]'s "Register usage at handoff boundary", Transfer List's signature value was changed from 0x40_b10b (3 bytes) to 4a0f_b10b (4 bytes).
As updating of TL's signature, register value of x1/r1 should be:
In aarch32's r1 value should be R1[23:0]: set to the TL signature (4a0f_b10b -> masked range value: 0f_b10b) R1[31:24]: version of the register convention == 1 and In aarch64's x1 value should be X1[31:0]: set to the TL signature (4a0f_b10b) X1[39:32]: version of the register convention == 1 X1[63:40]: MBZ (See the [2] and [3]).
Therefore, it requires to separate mask and shift value for register convention version field when sets each r1/x1.
This patch fix two problems: 1. breaking X1 value with updated specification in aarch64 - change of length of signature field.
2. previous error value set in R1 in arm32. - length of signature should be 24, but it uses 32bit signature.
This change is breaking change. It requires some patch for other softwares (u-boot[4], optee[5]).
Link: https://github.com/FirmwareHandoff/firmware_handoff [1] Link: https://github.com/FirmwareHandoff/firmware_handoff/issues/32 [2] Link: https://github.com/FirmwareHandoff/firmware_handoff/commit/5aa7aa1d3a1db75213e458d392b751f0707de027 [3] Link: https://lists.denx.de/pipermail/u-boot/2024-July/558628.html [4] Link: https://github.com/OP-TEE/optee_os/pull/6933 [5] Signed-off-by: Levi Yun <yeoreum.yun@arm.com> Change-Id: Ie417e054a7a4c192024a2679419e99efeded1705
|