]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Use adrp in the arm64 efi loader
authorAndrew Turner <andrew@FreeBSD.org>
Tue, 13 Oct 2020 16:51:05 +0000 (16:51 +0000)
committerAndrew Turner <andrew@FreeBSD.org>
Tue, 13 Oct 2020 16:51:05 +0000 (16:51 +0000)
commitb9aa4537b2155a0b0bb419ff05b8da206c02bfbd
tree0ade48ac98c68640dd4c9b8cd10bbacc133e961d
parentd524c46fb85b7fc28ad15814f01600573e7a6990
Use adrp in the arm64 efi loader

On startup the arm64 efi loaders need to know PC-relative addresses.
Previously we used the adr instruction to find this address, however this
instruction is limited to +/- 1MiB.

Switch to adrp to find the 4k page the address is within and an add to
set the bottom 12 bits. This lets us address +/- 4GiB which should be
large enough for now.

Reported by: imp
MFC after: 2 weeks
Sponsored by: Innovate UK
stand/efi/loader/arch/arm64/start.S