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.

Reply via email to