build: Update limine-protocol submodule
diff --git a/bootstrap b/bootstrap
index 1dfa81cb..d3cbe0d1 100755
--- a/bootstrap
+++ b/bootstrap
@@ -85,7 +85,7 @@ if ! test -f version; then
clone_repo_commit \
https://codeberg.org/Limine/limine-protocol.git \
limine-protocol \
- c3f3d2f9648ea95522d5efa54f3a0ad4bb2363c5
+ c4616df2572d77c60020bdefa617dd9bdcc6566a
clone_repo_commit \
https://codeberg.org/PicoEFI/PicoEFI.git \
diff --git a/common/protos/limine.c b/common/protos/limine.c
index 52676c95..c4b4413e 100644
--- a/common/protos/limine.c
+++ b/common/protos/limine.c
@@ -1468,7 +1468,7 @@ FEAT_START
uint32_t bsp_lapic_id;
mp_info = init_smp(&cpu_count, &bsp_lapic_id,
paging_mode,
- pagemap, mp_request->flags & LIMINE_MP_X2APIC, nx_available,
+ pagemap, mp_request->flags & LIMINE_MP_REQUEST_X86_64_X2APIC, nx_available,
direct_map_offset, true);
#elif defined (__aarch64__)
uint64_t bsp_mpidr;
@@ -1515,7 +1515,8 @@ FEAT_START
ext_mem_alloc(sizeof(struct limine_mp_response));
#if defined (__x86_64__) || defined (__i386__)
- mp_response->flags |= (mp_request->flags & LIMINE_MP_X2APIC) && x2apic_check();
+ mp_response->flags |=
+ (mp_request->flags & LIMINE_MP_REQUEST_X86_64_X2APIC) && x2apic_check() ? LIMINE_MP_RESPONSE_X86_64_X2APIC : 0;
mp_response->bsp_lapic_id = bsp_lapic_id;
#elif defined (__aarch64__)
mp_response->bsp_mpidr = bsp_mpidr;
diff --git a/test/limine.c b/test/limine.c
index bda83229..8df7a35b 100644
--- a/test/limine.c
+++ b/test/limine.c
@@ -151,11 +151,20 @@ static volatile struct limine_paging_mode_request _pm_request = {
#if defined (__x86_64__)
.mode = LIMINE_PAGING_MODE_X86_64_5LVL,
.max_mode = LIMINE_PAGING_MODE_X86_64_5LVL,
-#else
- .mode = LIMINE_PAGING_MODE_DEFAULT,
- .max_mode = LIMINE_PAGING_MODE_DEFAULT,
+ .min_mode = LIMINE_PAGING_MODE_X86_64_MIN
+#elif defined (__aarch64__)
+ .mode = LIMINE_PAGING_MODE_AARCH64_5LVL,
+ .max_mode = LIMINE_PAGING_MODE_AARCH64_5LVL,
+ .min_mode = LIMINE_PAGING_MODE_AARCH64_MIN
+#elif defined (__riscv)
+ .mode = LIMINE_PAGING_MODE_RISCV_SV57,
+ .max_mode = LIMINE_PAGING_MODE_RISCV_SV57,
+ .min_mode = LIMINE_PAGING_MODE_RISCV_MIN,
+#elif defined (__loongarch__)
+ .mode = LIMINE_PAGING_MODE_LOONGARCH_DEFAULT,
+ .max_mode = LIMINE_PAGING_MODE_LOONGARCH_DEFAULT,
+ .min_mode = LIMINE_PAGING_MODE_LOONGARCH_MIN
#endif
- .min_mode = LIMINE_PAGING_MODE_MIN
};
#ifdef __riscv
