HomeFreeBSD

Use adrp in the arm64 efi loader

Description

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.

(cherry picked from commit b9aa4537b2155a0b0bb419ff05b8da206c02bfbd)

Details

Provenance
andrewAuthored on Oct 13 2020, 4:51 PM
kevansCommitted on Oct 8 2021, 5:24 AM
Parents
rG1432cd3a8f6f: loader: edd_device_path_v3 is too small
Branches
Unknown
Tags
Unknown