sys: Consolidate common implementation details of PV entries.
authorJohn Baldwin <jhb@FreeBSD.org>
Fri, 7 Oct 2022 17:14:03 +0000 (10:14 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Fri, 7 Oct 2022 17:14:03 +0000 (10:14 -0700)
commit4d90a5afc51b520c3c256ee7c03ed539e71e97e4
tree271f132e90397ca64e9b583c97fe571c98fda30a
parent61ab88d873301f8cec91729a312c322e11422f46
sys: Consolidate common implementation details of PV entries.

Add a <sys/_pv_entry.h> intended for use in <machine/pmap.h> to
define struct pv_entry, pv_chunk, and related macros and inline
functions.

Note that powerpc does not yet use this as while the mmu_radix pmap
in powerpc uses the new scheme (albeit with fewer PV entries in a
chunk than normal due to an used pv_pmap field in struct pv_entry),
the Book-E pmaps for powerpc use the older style PV entries without
chunks (and thus require the pv_pmap field).

Suggested by: kib
Reviewed by: kib
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D36685
sys/amd64/amd64/pmap.c
sys/amd64/include/pmap.h
sys/arm/arm/pmap-v6.c
sys/arm/include/pmap-v6.h
sys/arm64/arm64/pmap.c
sys/arm64/include/pmap.h
sys/i386/i386/pmap.c
sys/i386/include/pmap.h
sys/riscv/include/pmap.h
sys/riscv/riscv/pmap.c
sys/sys/_pv_entry.h [new file with mode: 0644]