diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2021-08-26 21:46:48 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2021-08-27 16:49:01 +0000 |
commit | b54eec8366605d9c2303277cf2ab4b605289910a (patch) | |
tree | 091b305b3521a2910efac076f7c5818aaef3fedb /stand | |
parent | b850806921a735f3f307bc4b2634c7e9008f5a9c (diff) | |
download | src-b54eec8366605d9c2303277cf2ab4b605289910a.tar.gz src-b54eec8366605d9c2303277cf2ab4b605289910a.zip |
Diffstat (limited to 'stand')
-rw-r--r-- | stand/efi/loader/copy.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/stand/efi/loader/copy.c b/stand/efi/loader/copy.c index 65f595c12b11..2552ae86d966 100644 --- a/stand/efi/loader/copy.c +++ b/stand/efi/loader/copy.c @@ -178,12 +178,13 @@ out: } #endif /* __i386__ || __amd64__ */ -#ifndef EFI_STAGING_SIZE #if defined(__arm__) -#define EFI_STAGING_SIZE 32 +#define DEFAULT_EFI_STAGING_SIZE 32 #else -#define EFI_STAGING_SIZE 64 +#define DEFAULT_EFI_STAGING_SIZE 64 #endif +#ifndef EFI_STAGING_SIZE +#define EFI_STAGING_SIZE DEFAULT_EFI_STAGING_SIZE #endif #if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \ @@ -314,8 +315,12 @@ efi_copy_init(void) { EFI_STATUS status; unsigned long nr_pages; + vm_offset_t ess; - nr_pages = EFI_SIZE_TO_PAGES(M(1) * (EFI_STAGING_SIZE)); + ess = EFI_STAGING_SIZE; + if (ess < DEFAULT_EFI_STAGING_SIZE) + ess = DEFAULT_EFI_STAGING_SIZE; + nr_pages = EFI_SIZE_TO_PAGES(M(1) * ess); #if defined(__i386__) || defined(__amd64__) /* |