How can I start the secondary core in Jetson TK1

I’m a student form China, and I’m trying to port a OS(Barrelfish) to Jetson TK1.
Now I had make the primary core working.

But when I start to deal with the secondary core, there are problems.

first, I just know using the “SEV” instruction can wake up a core (in WFE or WFI). I don’t know what else i have to do?

Most important thing is I don’t know how to set the secondary core’s boot address.

I tried to find answer from the linux code for Jetson TK1, but I didn’t find any code setting the address.

Can you tell me want to do?

A look at the u-boot source code might help. Especially /u-boot/arch/arm/match-tegra/tegra124/cpu.c. There are the functions

void start_cpu(u32 reset_vector)


void powerup_cpus(void)

I needed u-boot to start a second CPU and for me it helped to modify those functions.

I do not fully understand how

writel(reset_vector, EXCEP_VECTOR_CPU_RESET_VECTOR);

works since i use different vectors for the cpus.