#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;
    // 在 IDT 就绪前禁用中断
    ASM("cli");
    kernel_main();
    while (1) ASM ("hlt");
}
