Skip to content

Commit c8cdc9e

Browse files
committed
protos/multiboot2: Panic if EFI64 entry is required, else ignore it
1 parent 87c1d05 commit c8cdc9e

1 file changed

Lines changed: 12 additions & 12 deletions

File tree

common/protos/multiboot2.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -147,17 +147,19 @@ noreturn void multiboot2_load(char *config, char* cmdline) {
147147
case MULTIBOOT_TAG_TYPE_MMAP:
148148
case MULTIBOOT_TAG_TYPE_SMBIOS:
149149
case MULTIBOOT_TAG_TYPE_BASIC_MEMINFO:
150+
break;
150151
#if defined (UEFI)
151-
case MULTIBOOT_TAG_TYPE_EFI_MMAP:
152-
#if defined (__i386__)
153-
case MULTIBOOT_TAG_TYPE_EFI32:
154-
case MULTIBOOT_TAG_TYPE_EFI32_IH:
155-
#elif defined (__x86_64__)
156-
case MULTIBOOT_TAG_TYPE_EFI64:
157-
case MULTIBOOT_TAG_TYPE_EFI64_IH:
158-
#endif
159-
#endif
152+
case MULTIBOOT_TAG_TYPE_EFI_MMAP:
153+
break;
154+
case MULTIBOOT_TAG_TYPE_EFI32:
155+
case MULTIBOOT_TAG_TYPE_EFI32_IH:
156+
case MULTIBOOT_TAG_TYPE_EFI64:
157+
case MULTIBOOT_TAG_TYPE_EFI64_IH:
158+
if (is_required) {
159+
panic(true, "multiboot2: EFI entry point tag handling is required but Limine does not support it");
160+
}
160161
break;
162+
#endif
161163
case MULTIBOOT_TAG_TYPE_FRAMEBUFFER:
162164
#if defined (UEFI)
163165
is_framebuffer_required = is_required;
@@ -214,9 +216,7 @@ noreturn void multiboot2_load(char *config, char* cmdline) {
214216
break;
215217
}
216218
case MULTIBOOT_HEADER_TAG_ENTRY_ADDRESS_EFI64: {
217-
if (entry_point == 0xffffffff /* no alternative entry */) {
218-
panic(true, "multiboot2: required EFI AMD64 entry tag is unsupported and no alternative entry was found\n");
219-
}
219+
// Ignore EFI64 entry address tag as we do not support it.
220220
break;
221221
}
222222

0 commit comments

Comments
 (0)