AnsweredAssumed Answered

SMC instruction, and PPA

Question asked by Yaron Alterman on Mar 13, 2018
Latest reply on Mar 27, 2018 by Yiping Wang


In my project I have to write my own bootloader instead of U-Boot for LS1043A, currently I'm working on the LS1043ARDB board. I have 2 issues I would like to ask about:


1. After I bring the processor to non-secure EL1 and try to call the smc #0 instruction, I get an serror exception (offset 0x380) - is there any thing I need to configure in order for smc to go to the appropriate synchroneous vector (offset 0x400) ? The VBAR registers have been pre-configured of course. Also when I call smc #0 from EL2, all is good and it goes to the sync vector. I assume that calling smc #0 from EL1 should be possible.

Another thing is, if I load from U-Boot, then calling smc #0 is ok from EL1 as well, so I guess U-Boot is doing something I don't somewhere, it's just that there are a multitude of initializations to be done, and I can put my finger on in in the U-Boot code - I would appreciate any help.


2. Assuming I get over the previous issue, I need then to load and initialize the PPA instead of U-Boot in order to have a secure monitor going. Can anyone say what is the procedure for loading and initializing the PPA?


Thanks in advance,