:: commit 80912a3d1fb16c384b9781a91c35a99ad8929768

Mintsuki <mintsuki@protonmail.com> — 2025-03-31 00:33

parents: c8cdc9e051

protos/multiboot2: Ignore top-down relocation hint as we do not properly support it

diff --git a/common/protos/multiboot2.c b/common/protos/multiboot2.c
index e74d6ea5..a552d4e5 100644
--- a/common/protos/multiboot2.c
+++ b/common/protos/multiboot2.c
@@ -326,13 +326,15 @@ noreturn void multiboot2_load(char *config, char* cmdline) {
 
         switch (reloc_tag.preference) {
             default:
-            case 0: case 1: // Prefer lowest to highest
+            case 0: case 1: case 2: // Prefer lowest to highest
                 reloc_ascend = true;
                 relocated_base = ALIGN_UP(reloc_tag.min_addr, reloc_tag.align);
                 if (relocated_base + ranges->length > reloc_tag.max_addr) {
                     goto reloc_fail;
                 }
                 break;
+/*
+            XXX: We do not support this properly, hence ignore, for now.
             case 2: // Prefer highest to lowest
                 reloc_ascend = false;
                 relocated_base = ALIGN_DOWN(reloc_tag.max_addr - ranges->length, reloc_tag.align);
@@ -340,6 +342,7 @@ noreturn void multiboot2_load(char *config, char* cmdline) {
                     goto reloc_fail;
                 }
                 break;
+*/
         }
 
         for (;;) {
tab: 248 wrap: offon