Files
Sylva/kernel/entry.cpp
T
2026-05-31 18:35:25 +08:00

15 lines
331 B
C++

#include <efi.h>
#include <common.h>
EFI_SYSTEM_TABLE *ST = NULL;
extern "C" void kernel_main();
extern "C" void _start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) {
(void)ImageHandle;
ST = SystemTable;
ASM("cli"); // disable interrupts until IDT is ready
kernel_main();
while (1) ASM ("hlt");
}