git: d9b8e5a74805 - releng/14.0 - powerpc pmap: initialize kernel pmap radix trie
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 23 Sep 2023 01:54:35 UTC
The branch releng/14.0 has been updated by dougm:
URL: https://cgit.FreeBSD.org/src/commit/?id=d9b8e5a748053ed9c641b5ac3832463b6f3731ac
commit d9b8e5a748053ed9c641b5ac3832463b6f3731ac
Author: Doug Moore <dougm@FreeBSD.org>
AuthorDate: 2023-09-13 18:17:57 +0000
Commit: Doug Moore <dougm@FreeBSD.org>
CommitDate: 2023-09-23 01:49:16 +0000
powerpc pmap: initialize kernel pmap radix trie
Commit 2d2bcba7ba70141388729ed49674b36fd01146c5 changed radix trie
implementation and made it necessary that radix tries be initialized
with vm_radix_init. @dbaio reports that in some configurations, there
is a powerpc boot panic and that this commit introduced the
problem. In powerpc/aim/mmu_radix.c, the radix trie in kernel_pmap is
initialized by zeroing all its fields.
Add a call to vm_radix_init to properly initialize
kernel_pmap->pm_radix.
Reported by: dbaio
Reviewed by: alc, jhibbits
Fixes: 2d2bcba7ba drop NULL check from radix trie search
Differential Revision: https://reviews.freebsd.org/D41846
(cherry picked from commit 8763b9862f90dc3bdbbc5e3c2664890be7c1f0c4)
(cherry picked from commit a4c7a3f7f56a131a74b78ac48f6533feb8ef5aae)
Approved by: re (gjb)
---
sys/powerpc/aim/mmu_radix.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c
index 32d08d2d7026..b904978e042c 100644
--- a/sys/powerpc/aim/mmu_radix.c
+++ b/sys/powerpc/aim/mmu_radix.c
@@ -1843,6 +1843,7 @@ mmu_radix_setup_pagetables(vm_size_t hwphyssz)
bzero(kernel_pmap, sizeof(struct pmap));
PMAP_LOCK_INIT(kernel_pmap);
+ vm_radix_init(&kernel_pmap->pm_radix);
ptpages = allocpages(3);
l1phys = moea64_bootstrap_alloc(RADIX_PGD_SIZE, RADIX_PGD_SIZE);