arm64: Simplify and improve KASAN shadow map bootstrapping
- Move pmap_bootstrap_allocate_kasan_l2() close to the place where it is actually used.
- Simplify pmap_bootstrap_allocate_kasan_l2() a bit: eliminate some unneeded variables and zero and exclude each 2MB mapping as we go rather than doing that all at once. Excluded regions will be coalesced.
- As a consequence of the previous point, ensure that we do not zero a preexisting 2MB mapping.
- Simplify pmap_bootstrap_san() and prepare it to work with KMSAN.
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D43404