From da70596895d8135e08f8caac6978117697b4c021 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 18 Aug 2024 21:39:29 +0200 Subject: [REFACTOR] Improved project structure. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/FirmwareKit/EFI/API.hxx | 116 ------------------------------------- 1 file changed, 116 deletions(-) delete mode 100644 dev/Kernel/FirmwareKit/EFI/API.hxx (limited to 'dev/Kernel/FirmwareKit/EFI/API.hxx') diff --git a/dev/Kernel/FirmwareKit/EFI/API.hxx b/dev/Kernel/FirmwareKit/EFI/API.hxx deleted file mode 100644 index d666bbf2..00000000 --- a/dev/Kernel/FirmwareKit/EFI/API.hxx +++ /dev/null @@ -1,116 +0,0 @@ -/* ------------------------------------------- - - Copyright ZKA Technologies. - -------------------------------------------- */ - -#ifndef __EFI_API__ -#define __EFI_API__ - -#include -#include -#include -#include - -#define kNewOSSubsystem 17 - -#ifdef __NEWOSLDR__ -// forward decl. -class BTextWriter; - -#define __BOOTKIT_NO_INCLUDE__ 1 - -#include -#include -#include -#include -#endif // ifdef __NEWOSLDR__ - -inline EfiSystemTable* ST = nullptr; -inline EfiBootServices* BS = nullptr; - -EXTERN_C void rt_cli(); -EXTERN_C void rt_hlt(); - -namespace EFI -{ - /// @brief Halt and clear interrupts. - /// @return - inline Void Stop() noexcept - { - while (1) - { - rt_hlt(); - rt_cli(); - } - } - - /** -@brief Exit EFI API to let the OS load correctly. -Bascially frees everything we have in the EFI side. -*/ - inline void ExitBootServices(UInt64 MapKey, EfiHandlePtr ImageHandle) noexcept - { - if (!ST) - return; - - ST->BootServices->ExitBootServices(ImageHandle, MapKey); - } - - enum - { - kPartEPM, - kPartGPT, - kPartMBR, - kPartCnt, - }; - - inline UInt32 Platform() noexcept - { - return kPeMachineAMD64; - } - - /*** - * @brief Throw an error, stop execution as well. - * @param ErrorCode error code to be print. - * @param Reason reason to be print. - */ - inline void ThrowError(const EfiCharType* ErrorCode, - const EfiCharType* Reason) noexcept - { - ST->ConOut->OutputString(ST->ConOut, L"\r*** STOP ***\r"); - - ST->ConOut->OutputString(ST->ConOut, L"*** Error: "); - ST->ConOut->OutputString(ST->ConOut, ErrorCode); - - ST->ConOut->OutputString(ST->ConOut, L", Reason: "); - ST->ConOut->OutputString(ST->ConOut, Reason); - - ST->ConOut->OutputString(ST->ConOut, L" ***\r"); - - EFI::Stop(); - } -} // namespace EFI - -inline void InitEFI(EfiSystemTable* SystemTable) noexcept -{ - if (!SystemTable) - return; - - ST = SystemTable; - BS = ST->BootServices; - - ST->ConOut->ClearScreen(SystemTable->ConOut); - ST->ConOut->SetAttribute(SystemTable->ConOut, kEFIYellow); - - ST->BootServices->SetWatchdogTimer(0, 0, 0, nullptr); - ST->ConOut->EnableCursor(ST->ConOut, false); -} - -#ifdef __NEWOSLDR__ - -#include - -#endif // ifdef __NEWOSLDR__ - -#endif /* ifndef __EFI_API__ */ -- cgit v1.2.3