/** @file GBL EFI Debug Protocol. Allows GBL to notify firmware of fatal errors or debug events. Related docs: https://android.googlesource.com/platform/bootable/libbootloader/+/refs/heads/gbl-mainline/gbl/docs/gbl_efi_debug_protocol.md Copyright (c) 2025, The Android Open Source Project.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #pragma once #include // // {98ca3da1-c1ac-4402-9c16-7558d3ed5705} // #define GBL_EFI_DEBUG_PROTOCOL_GUID \ { 0x98ca3da1, 0xc1ac, 0x4402, { 0x9c, 0x16, 0x75, 0x58, 0xd3, 0xed, 0x57, 0x05 } } #define GBL_EFI_DEBUG_PROTOCOL_REVISION 0x00010000 typedef struct _GBL_EFI_DEBUG_PROTOCOL GBL_EFI_DEBUG_PROTOCOL; typedef enum { GblEfiDebugErrorTagAssertionError, GblEfiDebugErrorTagPartition, GblEfiDebugErrorTagLoadImage, GblEfiDebugErrorTagBootError } GBL_EFI_DEBUG_ERROR_TAG; typedef EFI_STATUS (EFIAPI *GBL_EFI_DEBUG_FATAL_ERROR)( IN GBL_EFI_DEBUG_PROTOCOL *This, IN CONST VOID *FramePtr, IN UINT64 Tag // GBL_EFI_DEBUG_ERROR_TAG ); struct _GBL_EFI_DEBUG_PROTOCOL { UINT64 Revision; GBL_EFI_DEBUG_FATAL_ERROR FatalError; }; extern EFI_GUID gGblEfiDebugProtocolGuid;