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);