From f61da8be06fdfebc598cba783e78117319231140 Mon Sep 17 00:00:00 2001 From: Ada Christine Date: Sun, 3 Mar 2024 08:44:42 +0000 Subject: build changes --- boot/efi/start.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 boot/efi/start.c (limited to 'boot/efi/start.c') diff --git a/boot/efi/start.c b/boot/efi/start.c new file mode 100644 index 0000000..8ef8cbe --- /dev/null +++ b/boot/efi/start.c @@ -0,0 +1,32 @@ +#include +#include +#include +#include + +#include "../kjarna.h" +#include "kjarna_efi.h" + +struct efi_context const *efi_context; +EFI_STATUS efi_errno = EFI_SUCCESS; + +EFI_STATUS _exit(EFI_STATUS status) +{ + return gBS->Exit(efi_context->handle, status, 0, nullptr); +} + +EFI_STATUS _start(EFI_HANDLE handle, EFI_SYSTEM_TABLE *system_table) +{ + struct efi_context app_context = { handle, system_table }; + efi_context = &app_context; + + system_table->ConOut->ClearScreen(system_table->ConOut); + + if (main(0, nullptr) != 0) + { + efi_errno = EFI_ABORTED; + } + + + return _exit(efi_errno); +} + -- cgit v1.3.1-1-g115d