git: 0e4e77072f65 - main - riscv: adjust physmem reservation

From: Mitchell Horne <mhorne_at_FreeBSD.org>
Date: Fri, 14 Jun 2024 18:02:25 UTC
The branch main has been updated by mhorne:

URL: https://cgit.FreeBSD.org/src/commit/?id=0e4e77072f65df71644140e41229b868a73f3371

commit 0e4e77072f65df71644140e41229b868a73f3371
Author:     Mitchell Horne <mhorne@FreeBSD.org>
AuthorDate: 2024-06-14 17:57:28 +0000
Commit:     Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2024-06-14 18:02:05 +0000

    riscv: adjust physmem reservation
    
    Make sure we do this BEFORE pmap_bootstrap().
    
    Reviewed by:    markj, jhb
    MFC after:      3 days
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D45325
---
 sys/riscv/riscv/machdep.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c
index f44056f56212..1e2b96acd3a1 100644
--- a/sys/riscv/riscv/machdep.c
+++ b/sys/riscv/riscv/machdep.c
@@ -549,10 +549,6 @@ initriscv(struct riscv_bootparams *rvbp)
 
 	cache_setup();
 
-	/* Bootstrap enough of pmap to enter the kernel proper */
-	kernlen = (lastaddr - KERNBASE);
-	pmap_bootstrap(rvbp->kern_l1pt, rvbp->kern_phys, kernlen);
-
 #ifdef FDT
 	/*
 	 * XXX: Unconditionally exclude the lowest 2MB of physical memory, as
@@ -565,6 +561,11 @@ initriscv(struct riscv_bootparams *rvbp)
 	physmem_exclude_region(mem_regions[0].mr_start, L2_SIZE,
 	    EXFLAG_NODUMP | EXFLAG_NOALLOC);
 #endif
+
+	/* Bootstrap enough of pmap to enter the kernel proper */
+	kernlen = (lastaddr - KERNBASE);
+	pmap_bootstrap(rvbp->kern_l1pt, rvbp->kern_phys, kernlen);
+
 	physmem_init_kernel_globals();
 
 	/* Establish static device mappings */