Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Jan 2025 15:03:44 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 101e825e551a - main - arm64: Refine comment about size of struct pmap_large_md_page
Message-ID:  <202501151503.50FF3iP9052628@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=101e825e551afc69a7cebb78fa6b676d38d93d2d

commit 101e825e551afc69a7cebb78fa6b676d38d93d2d
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2025-01-15 15:03:12 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-01-15 15:03:12 +0000

    arm64: Refine comment about size of struct pmap_large_md_page
    
    pmap_init_pv_table does not assume a specific size of 64.  It does
    assume a size that evenly divides the size of a page since it inserts
    pages from different domains into the kva backing the global pv_table
    array.
    
    Reviewed by:    imp, markj
    Sponsored by:   DARPA
    Differential Revision:  https://reviews.freebsd.org/D48455
---
 sys/arm64/arm64/pmap.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index fd6798668626..23eedff2e7cd 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -1547,11 +1547,11 @@ pmap_init_pv_table(void)
 	int domain, i, j, pages;
 
 	/*
-	 * We strongly depend on the size being a power of two, so the assert
-	 * is overzealous. However, should the struct be resized to a
-	 * different power of two, the code below needs to be revisited.
+	 * We depend on the size being evenly divisible into a page so
+	 * that the pv_table array can be indexed directly while
+	 * safely spanning multiple pages from different domains.
 	 */
-	CTASSERT((sizeof(*pvd) == 64));
+	CTASSERT(PAGE_SIZE % sizeof(*pvd) == 0);
 
 	/*
 	 * Calculate the size of the array.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501151503.50FF3iP9052628>