The branch main has been updated by kib:

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

commit f6ec18e200ab323d50ec8d051bda8f22f4beaf69
Author:     Konstantin Belousov <k...@freebsd.org>
AuthorDate: 2025-07-20 13:24:11 +0000
Commit:     Konstantin Belousov <k...@freebsd.org>
CommitDate: 2025-07-22 13:59:10 +0000

    amd64 vm.pmap.kernel_maps: provide canonical address switch for la57
    
    Reviewed by:    markj
    Sponsored by:   The FreeBSD Foundation
    Differential revision:  https://reviews.freebsd.org/D51453
---
 sys/amd64/amd64/pmap.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 9805184bd07e..6fac8318df05 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -12042,8 +12042,13 @@ sysctl_kmaps(SYSCTL_HANDLER_ARGS)
                }
 
                /* Convert to canonical form. */
-               if (sva == 1ul << 47)
-                       sva |= -1ul << 48;
+               if (la57) {
+                       if (sva == 1ul << 56)
+                               sva |= -1ul << 57;
+               } else {
+                       if (sva == 1ul << 47)
+                               sva |= -1ul << 48;
+               }
 
 restart:
                pml4e = kernel_pml4[i];

Reply via email to