
Hello u-boot experts,
On qemu arm64 virt machine, I can start u-boot-spl and it loads u-boot(proper) from RAM ( CONFIG_SPL_RAM_SUPPORT=y, CONFIG_SPL_RAM_DEVICE=y) and executes it. Previously I have used u-boot-spl and used falcon mode to jump directly to linux on qemu virt machine and on actual board, but I had modified u-boot code to skip some parts and forced some parameters(in spl_image? Maybe) arbitrarily to my purpose. This time I'm trying to do u-boot-spl => u-boot => linux without changing u-boot source code. In u-boot-spl case, there is the part where it jumps to linux in the board_init_r function (in common/spl/spl.c). But u-boot(proper) case, in board_init_r function (in common/board_r.c) there is no such jump to linux. It just calls functions in init_sequence_r function pointer array. The array starts with initr_trace and ends with run_main_loop. When I run it, it runs the run_main_loop function and comes out to prompt. My question is : in what function am I supposed to jump to linux? I will appreciate any comment or answer. (using u-boot.v2022.07)
Thank you. Chan Kim