Module Name: src Committed By: skrll Date: Sat Nov 19 09:55:11 UTC 2022
Modified Files: src/sys/arch/riscv/riscv: locore.S Log Message: Fix CONSADDR and save a label To generate a diff of this commit: cvs rdiff -u -r1.39 -r1.40 src/sys/arch/riscv/riscv/locore.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/riscv/riscv/locore.S diff -u src/sys/arch/riscv/riscv/locore.S:1.39 src/sys/arch/riscv/riscv/locore.S:1.40 --- src/sys/arch/riscv/riscv/locore.S:1.39 Sun Oct 16 06:14:53 2022 +++ src/sys/arch/riscv/riscv/locore.S Sat Nov 19 09:55:11 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.39 2022/10/16 06:14:53 skrll Exp $ */ +/* $NetBSD: locore.S,v 1.40 2022/11/19 09:55:11 skrll Exp $ */ /*- * Copyright (c) 2014, 2022 The NetBSD Foundation, Inc. @@ -292,7 +292,7 @@ ENTRY_NP(start) or s0, s0, s7 VPRINTS("cons: ") - VPRINTX(s2) + VPRINTX(s9) VPRINTS(": ") VPRINTXNL(s0) @@ -303,7 +303,7 @@ ENTRY_NP(start) call _C_LABEL(uartputc) /* Set supervisor trap vector base register */ - PTR_LA t0, .Lmmu_on + PTR_LA t0, vstart add t0, t0, s8 csrw stvec, t0 @@ -319,10 +319,14 @@ ENTRY_NP(start) csrw satp, t0 .align 2 -.Lmmu_on: + .global vstart +vstart: // MMU is on! csrw sscratch, zero // zero in sscratch to mark kernel +#ifdef CONSADDR + add sp, sp, s8 +#endif li a0, 'M' call _C_LABEL(uartputc) // uartputs doesn't use stack li a0, '\n' @@ -332,8 +336,6 @@ ENTRY_NP(start) PTR_LA tp, _C_LABEL(lwp0) // put curlwp in tp - .global vstart -vstart: /* Set supervisor trap vector base register */ PTR_LA a0, _C_LABEL(cpu_exception_handler)