Module Name: src Committed By: skrll Date: Wed Sep 28 05:02:03 UTC 2022
Modified Files: src/sys/arch/riscv/conf: Makefile.riscv src/sys/arch/riscv/riscv: locore.S Log Message: Fix RV32 so it gets to the same point as RV64 To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/riscv/conf/Makefile.riscv cvs rdiff -u -r1.26 -r1.27 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/conf/Makefile.riscv diff -u src/sys/arch/riscv/conf/Makefile.riscv:1.7 src/sys/arch/riscv/conf/Makefile.riscv:1.8 --- src/sys/arch/riscv/conf/Makefile.riscv:1.7 Sat May 1 07:13:21 2021 +++ src/sys/arch/riscv/conf/Makefile.riscv Wed Sep 28 05:02:02 2022 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.riscv,v 1.7 2021/05/01 07:13:21 skrll Exp $ +# $NetBSD: Makefile.riscv,v 1.8 2022/09/28 05:02:02 skrll Exp $ # Makefile for NetBSD # @@ -71,7 +71,7 @@ locore.o: ${RISCV}/riscv/locore.S assym. .if ${MACHINE_ARCH} == "riscv64" && ${LP64:Uyes} == "yes" TEXTADDR?= 0xFFFFFFC000000000 .else -TEXTADDR?= 0xC0001000 +TEXTADDR?= 0x80200000 .endif KERNLDSCRIPT?= ${RISCV}/conf/kern.ldscript EXTRA_LINKFLAGS= ${LDOPTS} --relax Index: src/sys/arch/riscv/riscv/locore.S diff -u src/sys/arch/riscv/riscv/locore.S:1.26 src/sys/arch/riscv/riscv/locore.S:1.27 --- src/sys/arch/riscv/riscv/locore.S:1.26 Tue Sep 27 08:18:21 2022 +++ src/sys/arch/riscv/riscv/locore.S Wed Sep 28 05:02:02 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.26 2022/09/27 08:18:21 skrll Exp $ */ +/* $NetBSD: locore.S,v 1.27 2022/09/28 05:02:02 skrll Exp $ */ /*- * Copyright (c) 2014, 2022 The NetBSD Foundation, Inc. @@ -222,11 +222,16 @@ ENTRY_NP(start) VPRINTX(s3) #endif -#endif VPRINTS(": ") VPRINTXNL(t0) VPRINTS("\n\r") +#endif // _LP64 + +#if ((VM_MIN_KERNEL_ADDRESS >> SEGSHIFT) & (NPDEPG - 1)) * SZREG + li t1, ((VM_MIN_KERNEL_ADDRESS >> SEGSHIFT) & (NPDEPG - 1)) * SZREG + add s2, s2, t1 +#endif #if PGSHIFT < PTE_PPN_SHIFT #error Code assumes PGSHIFT is greater than PTE_PPN_SHIFT @@ -240,7 +245,8 @@ ENTRY_NP(start) // Fill in the PDEs for kernel. // PTR_LA s0, start - srli s0, s0, (PGSHIFT - PTE_PPN_SHIFT) + srli s0, s0, SEGSHIFT // round down to NBSEG, and shift in + slli s0, s0, (SEGSHIFT - PGSHIFT + PTE_PPN_SHIFT) // ... to PPN or s0, s0, s7 .Lfill: VPRINTS("kern ")