Module Name: src Committed By: skrll Date: Fri Sep 30 06:23:59 UTC 2022
Modified Files: src/sys/arch/riscv/include: pte.h src/sys/arch/riscv/riscv: locore.S Log Message: Don't set A, D in page table pointers, but do set them in leaf entries. Beagle-v now boots to the msgbufaddr panic same as qemu To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/riscv/include/pte.h cvs rdiff -u -r1.28 -r1.29 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/include/pte.h diff -u src/sys/arch/riscv/include/pte.h:1.7 src/sys/arch/riscv/include/pte.h:1.8 --- src/sys/arch/riscv/include/pte.h:1.7 Wed Sep 21 06:34:30 2022 +++ src/sys/arch/riscv/include/pte.h Fri Sep 30 06:23:58 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: pte.h,v 1.7 2022/09/21 06:34:30 skrll Exp $ */ +/* $NetBSD: pte.h,v 1.8 2022/09/30 06:23:58 skrll Exp $ */ /* * Copyright (c) 2014, 2019, 2021 The NetBSD Foundation, Inc. @@ -72,7 +72,7 @@ typedef uint32_t pd_entry_t; #define PTE_V __BIT(0) // Valid #define PTE_HARDWIRED (PTE_A | PTE_D) -#define PTE_KERN (PTE_V | PTE_G) +#define PTE_KERN (PTE_V | PTE_G | PTE_A | PTE_D) #define PTE_RW (PTE_R | PTE_W) #define PTE_RX (PTE_R | PTE_X) Index: src/sys/arch/riscv/riscv/locore.S diff -u src/sys/arch/riscv/riscv/locore.S:1.28 src/sys/arch/riscv/riscv/locore.S:1.29 --- src/sys/arch/riscv/riscv/locore.S:1.28 Wed Sep 28 06:05:28 2022 +++ src/sys/arch/riscv/riscv/locore.S Fri Sep 30 06:23:59 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.28 2022/09/28 06:05:28 skrll Exp $ */ +/* $NetBSD: locore.S,v 1.29 2022/09/30 06:23:59 skrll Exp $ */ /*- * Copyright (c) 2014, 2022 The NetBSD Foundation, Inc. @@ -190,7 +190,7 @@ ENTRY_NP(start) call clear_bss // zero through kernel_end (inc. stack) - li s7, PTE_KERN // for megapages + li s7, PTE_V // page table pointer {X,W,R} = {0,0,0} // We allocated the kernel first PDE page so let's insert in the // page table.