git: 0e4e77072f65 - main - riscv: adjust physmem reservation
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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 */