aboutsummaryrefslogtreecommitdiff
path: root/stand/efi/loader/copy.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2023-05-11 20:04:12 +0000
committerWarner Losh <imp@FreeBSD.org>2023-05-11 20:06:03 +0000
commitc16e08e5f324aa119c85e10eaabacbd2abdb40e0 (patch)
tree3e60561ba5347e3cd5ba7ef5eff59d5d8171200f /stand/efi/loader/copy.c
parentad9d10a859ac2c65076f532dcfcc3bf5328a8ab1 (diff)
downloadsrc-c16e08e5f324aa119c85e10eaabacbd2abdb40e0.tar.gz
src-c16e08e5f324aa119c85e10eaabacbd2abdb40e0.zip
Diffstat (limited to 'stand/efi/loader/copy.c')
-rw-r--r--stand/efi/loader/copy.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/stand/efi/loader/copy.c b/stand/efi/loader/copy.c
index d7ca5513516b..6a4e65f2dbc3 100644
--- a/stand/efi/loader/copy.c
+++ b/stand/efi/loader/copy.c
@@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$");
#define M(x) ((x) * 1024 * 1024)
#define G(x) (1UL * (x) * 1024 * 1024 * 1024)
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__amd64__)
#include <machine/cpufunc.h>
#include <machine/specialreg.h>
#include <machine/vmparam.h>
@@ -173,7 +173,7 @@ efi_verify_staging_size(unsigned long *nr_pages)
out:
free(map);
}
-#endif /* __i386__ || __amd64__ */
+#endif /* __amd64__ */
#if defined(__arm__)
#define DEFAULT_EFI_STAGING_SIZE 32
@@ -284,7 +284,7 @@ command_staging_slop(int argc, char *argv[])
COMMAND_SET(staging_slop, "staging_slop", "set staging slop",
command_staging_slop);
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__amd64__)
/*
* The staging area must reside in the first 1GB or 4GB physical
* memory: see elf64_exec() in
@@ -295,11 +295,7 @@ get_staging_max(void)
{
EFI_PHYSICAL_ADDRESS res;
-#if defined(__i386__)
- res = G(1);
-#elif defined(__amd64__)
res = copy_staging == COPY_STAGING_ENABLE ? G(1) : G(4);
-#endif
return (res);
}
#define EFI_ALLOC_METHOD AllocateMaxAddress
@@ -319,7 +315,7 @@ efi_copy_init(void)
ess = DEFAULT_EFI_STAGING_SIZE;
nr_pages = EFI_SIZE_TO_PAGES(M(1) * ess);
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__amd64__)
/*
* We'll decrease nr_pages, if it's too big. Currently we only
* apply this to FreeBSD VM running on Hyper-V. Why? Please see
@@ -387,9 +383,8 @@ efi_check_space(vm_offset_t end)
end += staging_slop;
nr_pages = EFI_SIZE_TO_PAGES(end - staging_end);
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__amd64__)
/*
- * i386 needs all memory to be allocated under the 1G boundary.
* amd64 needs all memory to be allocated under the 1G or 4G boundary.
*/
if (end > get_staging_max())
@@ -435,7 +430,7 @@ expand:
#if EFI_STAGING_2M_ALIGN
nr_pages += M(2) / EFI_PAGE_SIZE;
#endif
-#if defined(__i386__) || defined(__amd64__)
+#if defined(__amd64__)
new_base = get_staging_max();
#endif
status = BS->AllocatePages(EFI_ALLOC_METHOD, EfiLoaderCode,