Page MenuHomeFreeBSD

Add support to allocate more space before and after a current allocation
ClosedPublic

Authored by andrew on Nov 27 2019, 3:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 28, 11:48 AM
Unknown Object (File)
Mar 18 2024, 6:19 AM
Unknown Object (File)
Mar 7 2024, 11:40 PM
Unknown Object (File)
Jan 11 2024, 10:47 PM
Unknown Object (File)
Jan 3 2024, 3:37 AM
Unknown Object (File)
Dec 23 2023, 9:34 AM
Unknown Object (File)
Oct 13 2023, 4:26 PM
Unknown Object (File)
Oct 13 2023, 11:22 AM
Subscribers
None

Details

Summary

With a very large kernel or module the staging area may be too small to
hold it. When this is the case try to allocate more space before failing
in the efi copyin/copyout/readin functions.

Test Plan

Loaded a 69M kernel with a 32M staging area on arm64.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Not seeing any holes here

This revision is now accepted and ready to land.Nov 27 2019, 3:54 PM

Seems ok.
Note, the issue about the staging size is not really if we can or can not allocate specific size, but if we have enough target space to copy it. I have starting to port other change (https://reviews.freebsd.org/D22309), the idea there is that we should determine if the target location has enough space. The bios version is simple as there we own the memory and we can not load directly to target address, in UEFI case we need to allocate, load and after switching off the BS, only then we can copy.