/* * Copyright (c) 2026, Chloe M. * Provided under the BSD-3 clause. * * Description: BPAL init logic * Author: Chloe M. */ #include #include #ifndef _BOOT_PROTO #error "Boot protocol is undefined" #else #define BOOT_PROTO _BOOT_PROTO #endif /* !_BOOT_PROTO */ /* Globals */ static BPAL_HANDLE BpalHandle; VOID KeBpalGetHandle(BPAL_HANDLE *Result) { if (Result == NULL) { return; } *Result = BpalHandle; } VOID KeBpalInit(VOID) { const CHAR *BootProto = BOOT_PROTO; switch (*BootProto) { case 'l': if (RtlStrEq(BootProto, "limine")) { KeBpalLimineInit(&BpalHandle); return; } } /* TODO: Bugcheck here */ }