May 11 2021
The problem has been solved.
Mar 30 2021
Dec 2 2020
A developer submitted a patch which closely relates to this issue. Please give your feedback here: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/7314
Nov 30 2020
Please use personal email and git configs/identity to push the patch to trustedfirmware.org. Few developers from the tf-a community have done this. Here is a link to contribution guidelines:
Nov 28 2020
Thanks for your reply. It is difficult to submit code to community or Gerrit using company's account and system. So, I wonder whether it's permitted to upload by providing modifications or “git send-email” with patches.
Nov 19 2020
Yeah, looks like such a large system with numerous clusters will run into an issue with the current limitation of "lock_index" being "unsigned char". Please go ahead and submit a patch for review:
Yes, The power domain topology of the system can be described as 8 sockets, each socket with 10 clusters and each cluster with 8 cores. We just consider a system like this might face the constraint mentioned above, and we must modify the declaration of lock_index to solve this problem. Feature, more and more interconnected system, with numerous cpus, might face the same problem.
Nov 18 2020
The struct "non_cpu_pwr_domain_node" represents a non-leaf power domain in an SoC such as a logical cluster. As you mentioned, the lock_index declaration with "unsigned char" limits such non-cpu power domains to 64. I believe it doesn't restrict the number of CPUs in a system to be <= 64. Do you currently face an issue with PSCI implementation due to the above constraint? Can you advise what is the power domain topology of your system? I think the lock_index can be expanded using "unsigned int" if needed.
Oct 9 2020
Jul 30 2020
@ManishVB-Arm has posted a patch to address your issue, see https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/5119
Would you mind taking a look and letting us know whether it fixes the issue for you?
Jul 24 2020
Jun 23 2020
Thanks for your comments and clarification. I should have updated this ticket with the information provided in the mail list, in order to keep them in sync.
Jun 19 2020
I noticed this as well, and I was on the verge of submitting a patch until I looked into it further and decided that the current default is justifiable.
Jun 3 2020
May 28 2020
May 10 2020
Yes, you are right ID_AA64PFR0_EL1 must be used. Thanks for spotting this!
May 9 2020
Mar 31 2020
OK. Regarding naming suggestions, I like func_noabi/endfunc_noabi the most. The reason why I am discounting asmfunc/endasmfunc is because a function implemented in assembly language might still respect the ABI.
I suggest we start with func_noabi/endfunc_noabi and continue the discussion on the patch on Gerrit. Unfortunately, this ticketing system does not have the same visibility as Gerrit or the mailing list and not everyone subscribe to these.
Mar 27 2020
Ok, In order to safe iterations.
I plan to suggest a new macro which does the followin
- creates a new section - as func does
- sets the alginment - as func does
- sets the type
- together with the counterpart end??? is sets the .size
. Proposals for names
- func_noabi/endfunc_noabi - a non-abi conformant function
- asmfunc/endasmfunc - a assembly routine/function
- sym/endsym - short, but the name does not imply that it actually creates a block of code/own section
Mar 25 2020
Current gerrit proposal to fix this can be found in https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/3749 (and related preceding commits).
I can try end of the week. Thanks.
Mar 20 2020
Corrected with the following commit that has just been merged:
Mar 19 2020
This makes sense to me. Would you mind preparing a patch that removes the func macro on el3_exit and post it on review.trustedfirmware.org ?
Mar 12 2020
Hi Andrew, yes the change looks fine.
If this generally looks okay I'm happy to follow https://developer.trustedfirmware.org/w/tf_a/gerrit-getting-started/ and push this for review according to the TF-A workflow.
Again, this is for now staged via Pete's tree and you can view the pull request here - https://github.com/pbatard/arm-trusted-firmware/pull/2
Mar 6 2020
This has been fixed in https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/2789.
Feb 5 2020
Jan 30 2020
Dec 19 2019
Fixed and merged on 8/10/2019:
Dec 5 2019
Patch submitted for review as https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/2724
Sep 18 2019
Sep 11 2019
I don't know what options you tried to build with, but I managed to build with the ROMLIB feature for the FVP platform. I will post everything I did here, hoping it will be of some use to you.
I used the following command to build:
MBEDTLS_DIR=<path_to_mbedtls> make ARM_ROTPK_LOCATION=devel_rsa CROSS_COMPILE=<path_to_cross_compiler(aarch64)> GENERATE_COT=1 PLAT=fvp ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem TRUSTED_BOARD_BOOT=1 USE_ROMLIB=1 DEBUG=1 fiptool all
The cross-compiler I used is GCC 8.3 for AArch64 ELF bare-metal target. You can get it from here: