HomeFreeBSD

Fix arm64 TLB invalidation with non-4k pages

Description

Fix arm64 TLB invalidation with non-4k pages

When using 16k or 64k pages atop will shift the address by more than
the needed amount for a tlbi instruction. Replace this with a new macro
to shift the address by 12 and use PAGE_SIZE in the for loop to let the
code work with any page size.

Approved by: re (gjb)
Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34516

(cherry picked from commit 813738fabaaea43503724b8371faf5bab73a3047)
(cherry picked from commit 89166c063a9a136ba3780bb069e03e6049c53fd5)

Details

Provenance
andrewAuthored on Mar 10 2022, 2:39 PM
scottphCommitted on Mar 30 2022, 8:50 PM
Reviewer
alc
Differential Revision
D34516: Fix arm64 TLB invalidation with non-4k pages
Parents
rG331335c1b846: Fix kernel build without INET or INET6
Branches
Unknown
Tags
Unknown