blob: c67d089ae7d4c79f2c25941363b8035398ede2c6 [file]
/** @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.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#pragma once
#include <Uefi/UefiBaseType.h>
//
// {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;