Changeset View
Changeset View
Standalone View
Standalone View
sys/riscv/riscv/locore.S
Show First 20 Lines • Show All 295 Lines • ▼ Show 20 Lines | ENTRY(mpentry) | ||||
add t0, t0, t1 | add t0, t0, t1 | ||||
1: | 1: | ||||
/* Wait the kernel to be ready */ | /* Wait the kernel to be ready */ | ||||
lw t1, 0(t0) | lw t1, 0(t0) | ||||
beqz t1, 1b | beqz t1, 1b | ||||
/* Setup stack pointer */ | /* Setup stack pointer */ | ||||
lla t0, secondary_stacks | lla t0, bootstack | ||||
li t1, (PAGE_SIZE * KSTACK_PAGES) | ld sp, 0(t0) | ||||
mulw t2, t1, a0 | |||||
add t0, t0, t2 | |||||
add t0, t0, t1 | |||||
sub t0, t0, s9 | |||||
li t1, KERNBASE | |||||
add sp, t0, t1 | |||||
/* Setup supervisor trap vector */ | /* Setup supervisor trap vector */ | ||||
lla t0, mpva | lla t0, mpva | ||||
sub t0, t0, s9 | sub t0, t0, s9 | ||||
li t1, KERNBASE | li t1, KERNBASE | ||||
add t0, t0, t1 | add t0, t0, t1 | ||||
csrw stvec, t0 | csrw stvec, t0 | ||||
Show All 27 Lines |