:: commit 8753bd6b320f9069274340ae544351672d492288

Mintsuki <mintsuki@protonmail.com> — 2025-11-07 08:59

parents: e06cc37f68

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
tab: 248 wrap: offon