diff --git a/kernel/amd64/bootmain.c b/kernel/amd64/bootmain.c index f338afe..8968afb 100644 --- a/kernel/amd64/bootmain.c +++ b/kernel/amd64/bootmain.c @@ -43,6 +43,9 @@ ALIGNED (16) static uint8_t uacpi_memory_buffer[UACPI_MEMORY_BUFFER_MAX]; void bootmain (void) { struct limine_mp_response* mp = limine_mp_request.response; + if (LIMINE_BASE_REVISION_SUPPORTED (limine_base_revision) == false) + spin (); + struct cpu* bsp_cpu = cpu_make (mp->bsp_lapic_id, 0); gdt_init (bsp_cpu); diff --git a/kernel/limine/requests.c b/kernel/limine/requests.c index 0153753..3b7186d 100644 --- a/kernel/limine/requests.c +++ b/kernel/limine/requests.c @@ -7,7 +7,7 @@ .revision = 4} SECTION (".limine_requests") -volatile uint64_t limine_base_revision[] = LIMINE_BASE_REVISION (4); +volatile uint64_t limine_base_revision[] = LIMINE_BASE_REVISION (6); SECTION (".limine_requests_start") volatile uint64_t limine_requests_start_marker[] = LIMINE_REQUESTS_START_MARKER; diff --git a/kernel/limine/requests.h b/kernel/limine/requests.h index da1792e..244a63b 100644 --- a/kernel/limine/requests.h +++ b/kernel/limine/requests.h @@ -12,4 +12,6 @@ EXTERN_REQ (mp); EXTERN_REQ (module); EXTERN_REQ (framebuffer); +extern uint64_t limine_base_revision[]; + #endif // _KERNEL_LIMINE_REQUESTS_H