Changeset View
Changeset View
Standalone View
Standalone View
sys/riscv/riscv/locore.S
Show First 20 Lines • Show All 146 Lines • ▼ Show 20 Lines | 2: | ||||
csrw stvec, t0 | csrw stvec, t0 | ||||
/* Set page tables base register */ | /* Set page tables base register */ | ||||
la s2, pagetable_l1 | la s2, pagetable_l1 | ||||
srli s2, s2, PAGE_SHIFT | srli s2, s2, PAGE_SHIFT | ||||
li t0, SATP_MODE_SV39 | li t0, SATP_MODE_SV39 | ||||
or s2, s2, t0 | or s2, s2, t0 | ||||
sfence.vma | sfence.vma | ||||
csrw sptbr, s2 | csrw satp, s2 | ||||
.align 2 | .align 2 | ||||
va: | va: | ||||
/* Setup supervisor trap vector */ | /* Setup supervisor trap vector */ | ||||
la t0, cpu_exception_handler | la t0, cpu_exception_handler | ||||
csrw stvec, t0 | csrw stvec, t0 | ||||
▲ Show 20 Lines • Show All 128 Lines • ▼ Show 20 Lines | 1: | ||||
csrw stvec, t0 | csrw stvec, t0 | ||||
/* Set page tables base register */ | /* Set page tables base register */ | ||||
la s2, pagetable_l1 | la s2, pagetable_l1 | ||||
srli s2, s2, PAGE_SHIFT | srli s2, s2, PAGE_SHIFT | ||||
li t0, SATP_MODE_SV39 | li t0, SATP_MODE_SV39 | ||||
or s2, s2, t0 | or s2, s2, t0 | ||||
sfence.vma | sfence.vma | ||||
csrw sptbr, s2 | csrw satp, s2 | ||||
.align 2 | .align 2 | ||||
mpva: | mpva: | ||||
/* Setup supervisor trap vector */ | /* Setup supervisor trap vector */ | ||||
la t0, cpu_exception_handler | la t0, cpu_exception_handler | ||||
csrw stvec, t0 | csrw stvec, t0 | ||||
/* Ensure sscratch is zero */ | /* Ensure sscratch is zero */ | ||||
li t0, 0 | li t0, 0 | ||||
csrw sscratch, t0 | csrw sscratch, t0 | ||||
call init_secondary | call init_secondary | ||||
END(mpentry) | END(mpentry) | ||||
#endif | #endif |