From nobody Tue Jul 22 14:03:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bmf9k6xKVz5pS1H; Tue, 22 Jul 2025 14:03:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bmf9k5dVGz40yg; Tue, 22 Jul 2025 14:03:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753192986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PvFcoHimNgSgRrZPzWQWoyYHHw4fgOwJmcoaZhu6UDM=; b=AxmsP+dHr32TuYX0IKC27MlKIuYLuFNJYP7gbkOK9EYZOCRrr/bkmSI+o8w75u6tgLffD+ pAEXwH8YTbj0Xw/kTtALG0bKpOPAnooo0DocBLkqQZGHNQO2nNHpAb4S8da0wiEmz+aN5y r3NMbWJU8ZnjCyaGZdtB0u+nikKR0A+h6z0fn65uhBF9XO8Ri0rvc0wU0ZsCRSUoGCdROw JLA82ryV1bI4+kmV008m2Icu0uuhKuBflEGUxkyz+rbS8/6vrB6dFcWZ/z0PmKrCD1yI/6 DtLJ5hOSmjLsP79QQxaund7+upilYpsr5xtu0TZQ2/8kXlZctu6/kufhkGT+IQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753192986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PvFcoHimNgSgRrZPzWQWoyYHHw4fgOwJmcoaZhu6UDM=; b=mYkUDDwyZgQmeAwh0n/JO2MDFbXgO30pHPBVEbi99RPGz6dbrv8wC+yIwRbKmFtcguf/0a DuYbIBDGvDA2fnnR/8f5pc4njVUgfQfJ21BULm3MXiEDrwRESluZHlef4E/rtM/K/BQepi aZnKAgmGt6Q/fjtbwD00wPGkMrJM3Nl2g+zEiSalwvHt51lq0Xm3ypxfe5UI9F/k81pkmH PlcsQKY66MLDtFvxwqZ6wX0XWv2DKIKkTx0xzpe7q7a36RCu9NGIUxW0AJY9l4nizxIhOg EFpX3SDbH4Lc3pSVKfc6HBh+5j5NmBbshtjwCyClLT5SmB7dmTLt1Ox0ZBM1Ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1753192986; a=rsa-sha256; cv=none; b=ciy3f85rUa27d83G2iLYCUYHxqGJWNPewvwrX14N5NFa15p5C0FanDtwAZ41eTzoBWFyAV Wzf14at2lg87wGylsfmQR33H5Z6ih69mfw96/4G79L2ktJuHTwPom3mgzwcjfTrAZx1AiF J6qghcq0MO81UwOWORcSOUBHr+mDJ1G9CiHcHIjKJFF+8oIDl4xMpistbZ2AYk/4m20rbx fd33VJzaaaYa8yX00vRBT8HQ9oLe5h43RIpAOAsIs54M2qpb5Qs1hv8p6+fZ0d5FG5J+Ke Kze2H7j7pKMQ2w1hztVUg+cuSibU9qGdPboEbasCiTr3z02sKxrb1GDMGcejRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bmf9k4qGhzVMx; Tue, 22 Jul 2025 14:03:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 56ME3657071038; Tue, 22 Jul 2025 14:03:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 56ME36K6071035; Tue, 22 Jul 2025 14:03:06 GMT (envelope-from git) Date: Tue, 22 Jul 2025 14:03:06 GMT Message-Id: <202507221403.56ME36K6071035@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 76a8b948fee3 - main - amd64 pmap: add kva_layout.kva_max List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 76a8b948fee30b90be00faaee441f64703f17711 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=76a8b948fee30b90be00faaee441f64703f17711 commit 76a8b948fee30b90be00faaee441f64703f17711 Author: Konstantin Belousov AuthorDate: 2025-07-21 11:48:31 +0000 Commit: Konstantin Belousov CommitDate: 2025-07-22 13:58:53 +0000 amd64 pmap: add kva_layout.kva_max And use it instead of manually providing the same value as sentinel in code for sysctl vm.pmap.kernel_maps. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D51453 --- sys/amd64/amd64/pmap.c | 12 ++++++------ sys/amd64/include/pmap.h | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index d8be68cb4f52..13c6df01ccfe 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -481,6 +481,8 @@ vm_paddr_t KERNend; /* and the end */ struct kva_layout_s kva_layout = { .kva_min = KV4ADDR(PML4PML4I, 0, 0, 0), + .kva_max = KV4ADDR(NPML4EPG - 1, NPDPEPG - 1, + NPDEPG - 1, NPTEPG - 1), .dmap_low = KV4ADDR(DMPML4I, 0, 0, 0), .dmap_high = KV4ADDR(DMPML4I + NDMPML4E, 0, 0, 0), .lm_low = KV4ADDR(LMSPML4I, 0, 0, 0), @@ -501,6 +503,8 @@ struct kva_layout_s kva_layout = { struct kva_layout_s kva_layout_la57 = { .kva_min = KV5ADDR(NPML5EPG / 2, 0, 0, 0, 0), /* == rec_pt */ + .kva_max = KV5ADDR(NPML5EPG - 1, NPML4EPG - 1, NPDPEPG - 1, + NPDEPG - 1, NPTEPG - 1), .dmap_low = KV5ADDR(DMPML5I, 0, 0, 0, 0), .dmap_high = KV5ADDR(DMPML5I + NDMPML5E, 0, 0, 0, 0), .lm_low = KV5ADDR(LMSPML5I, 0, 0, 0, 0), @@ -11896,9 +11900,7 @@ sysctl_kmaps_dump(struct sbuf *sb, struct pmap_kernel_map_range *range, mode, range->pdpes, range->pdes, range->ptes); /* Reset to sentinel value. */ - range->sva = la57 ? KV5ADDR(NPML5EPG - 1, NPML4EPG - 1, NPDPEPG - 1, - NPDEPG - 1, NPTEPG - 1) : KV4ADDR(NPML4EPG - 1, NPDPEPG - 1, - NPDEPG - 1, NPTEPG - 1); + range->sva = kva_layout.kva_max; } /* @@ -11992,9 +11994,7 @@ sysctl_kmaps(SYSCTL_HANDLER_ARGS) sbuf_new_for_sysctl(sb, NULL, PAGE_SIZE, req); /* Sentinel value. */ - range.sva = la57 ? KV5ADDR(NPML5EPG - 1, NPML4EPG - 1, NPDPEPG - 1, - NPDEPG - 1, NPTEPG - 1) : KV4ADDR(NPML4EPG - 1, NPDPEPG - 1, - NPDEPG - 1, NPTEPG - 1); + range.sva = kva_layout.kva_max; /* * Iterate over the kernel page tables without holding the kernel pmap diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h index 6a4da294c9dc..e2f97442c10f 100644 --- a/sys/amd64/include/pmap.h +++ b/sys/amd64/include/pmap.h @@ -557,6 +557,7 @@ pmap_pml5e_index(vm_offset_t va) struct kva_layout_s { vm_offset_t kva_min; + vm_offset_t kva_max; vm_offset_t dmap_low; /* DMAP_MIN_ADDRESS */ vm_offset_t dmap_high; /* DMAP_MAX_ADDRESS */ vm_offset_t lm_low; /* LARGEMAP_MIN_ADDRESS */