Get rid of pmap_map_early(). This is part of my crusade against the use of
authorkettenis <kettenis@openbsd.org>
Mon, 21 Nov 2022 20:19:21 +0000 (20:19 +0000)
committerkettenis <kettenis@openbsd.org>
Mon, 21 Nov 2022 20:19:21 +0000 (20:19 +0000)
commitb24244aaa178d6749051bdfa3611f11fc1859b6d
tree1245711204edd27baf33a59dc9538d89fea59929
parent4aaec261b206ed5f5eb38105cde5b0013c5e9eb5
Get rid of pmap_map_early().  This is part of my crusade against the use of
1G mappings for the PA = VA identity mapping used in the early boot phase
of the kernel and when spinning up CPUs.  The mappings are dangerous since
they might (unintentially) covering address ranges that should not be
mapped (i.e. secure memory) which is dangerous on arm64 since the
architecture allows speculative access to any address for which a valid
mapping exists and even speculative access may cause the machine to
misbehave.

So instead of relying on the PA = VA identity mapping, call pmap_bootstrap()
earlier such that we can use pmap_kenter_cache() to enter mappings for the
FDT.

ok miod@
sys/arch/arm64/arm64/machdep.c
sys/arch/arm64/arm64/pmap.c
sys/arch/arm64/include/pmap.h