@@ -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