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;
