:: commit 61b5b79eb4bd7f2f49df128f98f090d648d2f74b

mintsuki <mintsuki@protonmail.com> — 2023-11-02 08:47

parents: c7081a21d0

limine: Deprecate .limine_reqs and remove it as of base revision 1

diff --git a/PROTOCOL.md b/PROTOCOL.md
index 721370cc..e209071f 100644
--- a/PROTOCOL.md
+++ b/PROTOCOL.md
@@ -113,7 +113,10 @@ the "Feature List" section below.
 
 ## Limine Requests Section
 
-If the executable kernel file contains a `.limine_reqs` section, the bootloader
+Note: *This behaviour is deprecated as of base protocol revision 1*
+
+For kernels requesting deprecated base revision 0,
+if the executable kernel file contains a `.limine_reqs` section, the bootloader
 will, instead of scanning the executable for requests, fetch the requests
 from a NULL-terminated array of pointers to the provided requests, contained
 inside said section.
diff --git a/common/protos/limine.c b/common/protos/limine.c
index 7d4a4039..bd0c97d9 100644
--- a/common/protos/limine.c
+++ b/common/protos/limine.c
@@ -377,7 +377,7 @@ noreturn void limine_load(char *config, char *cmdline) {
     }
 
     // Load requests
-    if (elf64_load_section(kernel, &requests, ".limine_reqs", 0, slide)) {
+    if (base_revision == 0 && elf64_load_section(kernel, &requests, ".limine_reqs", 0, slide)) {
         for (size_t i = 0; ; i++) {
             if (requests[i] == NULL) {
                 break;
tab: 248 wrap: offon