summaryrefslogtreecommitdiffhomepage
path: root/src/boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/src/HEL/AMD64/BootEFI.cc12
-rw-r--r--src/boot/src/HEL/ARM64/BootEFI.cc12
2 files changed, 12 insertions, 12 deletions
diff --git a/src/boot/src/HEL/AMD64/BootEFI.cc b/src/boot/src/HEL/AMD64/BootEFI.cc
index 7558ec62..c043bbb9 100644
--- a/src/boot/src/HEL/AMD64/BootEFI.cc
+++ b/src/boot/src/HEL/AMD64/BootEFI.cc
@@ -131,18 +131,18 @@ EFI_EXTERN_C EFI_API Int32 BootloaderMain(EfiHandlePtr image_handle, EfiSystemTa
kHandoverHeader->f_BitMapStart = nullptr; /* Start of bitmap. */
kHandoverHeader->f_BitMapSize = kHandoverBitMapSz; /* Size of bitmap in bytes. */
- UInt16 trials = 5;
+ UInt16 trials = 15;
while (BS->AllocatePool(EfiLoaderData, kHandoverHeader->f_BitMapSize,
&kHandoverHeader->f_BitMapStart) != kEfiOk) {
--trials;
- if (!trials) {
- writer.Write("BootZ: Unable to allocate sufficient memory, trying again with 2GB...\r");
+ if (trials) {
+ writer.Write("BootZ: Unable to allocate sufficient memory, trying again...\r");
- trials = 3;
-
- kHandoverHeader->f_BitMapSize = kHandoverBitMapSz / 2; /* Size of bitmap in bytes. */
+ if (kHandoverHeader->f_BitMapSize > 0)
+ kHandoverHeader->f_BitMapSize =
+ kHandoverHeader->f_BitMapSize / 2; /* Size of bitmap in bytes. */
while (BS->AllocatePool(EfiLoaderData, kHandoverHeader->f_BitMapSize,
&kHandoverHeader->f_BitMapStart) != kEfiOk) {
diff --git a/src/boot/src/HEL/ARM64/BootEFI.cc b/src/boot/src/HEL/ARM64/BootEFI.cc
index 7f4b152c..bdef6549 100644
--- a/src/boot/src/HEL/ARM64/BootEFI.cc
+++ b/src/boot/src/HEL/ARM64/BootEFI.cc
@@ -130,18 +130,18 @@ EFI_EXTERN_C EFI_API Int32 BootloaderMain(EfiHandlePtr image_handle, EfiSystemTa
kHandoverHeader->f_BitMapStart = nullptr; /* Start of bitmap. */
kHandoverHeader->f_BitMapSize = kHandoverBitMapSz; /* Size of bitmap in bytes. */
- UInt16 trials = 5;
+ UInt16 trials = 15;
while (BS->AllocatePool(EfiLoaderData, kHandoverHeader->f_BitMapSize,
&kHandoverHeader->f_BitMapStart) != kEfiOk) {
--trials;
- if (!trials) {
- writer.Write("BootZ: Unable to allocate sufficient memory, trying again with 2GB...\r");
+ if (trials) {
+ writer.Write("BootZ: Unable to allocate sufficient memory, trying again...\r");
- trials = 3;
-
- kHandoverHeader->f_BitMapSize = kHandoverBitMapSz / 2; /* Size of bitmap in bytes. */
+ if (kHandoverHeader->f_BitMapSize > 0)
+ kHandoverHeader->f_BitMapSize =
+ kHandoverHeader->f_BitMapSize / 2; /* Size of bitmap in bytes. */
while (BS->AllocatePool(EfiLoaderData, kHandoverHeader->f_BitMapSize,
&kHandoverHeader->f_BitMapStart) != kEfiOk) {