aboutsummaryrefslogtreecommitdiff
path: root/stand/efi/loader/arch/arm64/start.S
Commit message (Collapse)AuthorAgeFilesLines
* Use adrp in the arm64 efi loaderAndrew Turner2020-10-131-5/+10
| | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=366670
* Ensure we have a large enough stack for the lua loaderAndrew Turner2018-08-271-0/+17
| | | | | | | | | | | | | | | | | | | Lua has a few places where it allocates a large buffer on the stack. This is normally fine, except there are a few places where there can be multiple frames with this buffer. This can cause a stack overflow on some arm64 SoCs. Fix this by allocating our own stack in loader.efi large enough for these objects. The required size has been found by tracing how the stack pointer changes in a virtual machine and found to be no larger than 50kB. A larger stack is allocated to reduce the likelihood of overflow from future changes. Reviewed by: kevans Approved by: re (kib) Differential Revision: https://reviews.freebsd.org/D16886 Notes: svn path=/head/; revision=338337
* Move sys/boot to stand. Fix all references to new locationWarner Losh2017-11-141-0/+165
Sponsored by: Netflix Notes: svn path=/head/; revision=325834