Question regarding U-boot MultiCore SMP

Hello,
I am working on the PolarFire RISC-V icicle kit and use u-boot to start my application. I configured the firmware to start u-boot on all harts (cores) and found out that u-boot uses a "HART lottery system" to decide which core/hart it runs on. In my special case I want u-boot to start on the first hart and the other harts shall wait for the interrupt.
I cannot use the "saveenv" but I compile the u-boot myself. Is there a way to compile the u-boot to ignore the "HART lottery system" and use the first hart?
Thank you in advance.
Regards,

Hey Jan,
On 2 March 2023 10:04:06 GMT, Jan Reinhard rej@sysgo.com wrote:
Hello,
I am working on the PolarFire RISC-V icicle kit and use u-boot to start my application. I configured the firmware to start u-boot on all harts (cores) and found out that u-boot uses a "HART lottery system" to decide which core/hart it runs on. In my special case I want u-boot to start on the first hart and the other harts shall wait for the interrupt.
I cannot use the "saveenv" but I compile the u-boot myself. Is there a way to compile the u-boot to ignore the "HART lottery system" and use the first hart?
I'm unfortunately not that familiar with the early code in u-boot for riscv, I'm just curious as to whether you could share more about why you would like to boot on one hart only?
Thank you in advance.
Regards,

On 3/2/23 05:04, Jan Reinhard wrote:
Hello,
I am working on the PolarFire RISC-V icicle kit and use u-boot to start my application. I configured the firmware to start u-boot on all harts (cores) and found out that u-boot uses a "HART lottery system" to decide which core/hart it runs on. In my special case I want u-boot to start on the first hart and the other harts shall wait for the interrupt.
Replace the hart lottery with a check on tp.
--Sean
I cannot use the "saveenv" but I compile the u-boot myself. Is there a way to compile the u-boot to ignore the "HART lottery system" and use the first hart?
Thank you in advance.
Regards,
participants (3)
-
Conor Dooley
-
Jan Reinhard
-
Sean Anderson