/** @file | |
This header file declares functions and type for common use. | |
Copyright (c) 2023, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef INTERNAL_TRACE_HUB_API_COMMON_H_ | |
#define INTERNAL_TRACE_HUB_API_COMMON_H_ | |
typedef enum { | |
TraceHubDebugType = 0, | |
TraceHubCatalogType | |
} TRACEHUB_PRINTTYPE; | |
typedef enum { | |
TraceHubRoutingDisable = 0, | |
TraceHubRoutingEnable, | |
TraceHubRoutingMax | |
} TRACE_HUB_ROUTING; | |
typedef enum { | |
TraceHubDebugLevelError = 0, | |
TraceHubDebugLevelErrorWarning, | |
TraceHubDebugLevelErrorWarningInfo, | |
TraceHubDebugLevelErrorWarningInfoVerbose, | |
TraceHubDebugLevelMax | |
} TRACE_HUB_DEBUG_LEVEL; | |
/** | |
Conditionally determine whether to enable Trace Hub message. | |
@param[in] Flag Flag to enable or disable Trace Hub message. | |
@param[in] DbgLevel Debug Level of Trace Hub. | |
@param[in] SeverityType Severity type of input message. | |
@retval TRUE Enable trace hub message. | |
@retval FALSE Disable trace hub message. | |
**/ | |
BOOLEAN | |
EFIAPI | |
TraceHubDataEnabled ( | |
IN BOOLEAN Flag, | |
IN UINT8 DbgLevel, | |
IN TRACE_HUB_SEVERITY_TYPE SeverityType | |
); | |
/** | |
Convert GUID from LE to BE or BE to LE. | |
@param[in] Guid GUID that need to be converted. | |
@param[out] ConvertedGuid GUID that is converted. | |
**/ | |
VOID | |
EFIAPI | |
SwapBytesGuid ( | |
IN GUID *Guid, | |
OUT GUID *ConvertedGuid | |
); | |
/** | |
Check whether to output Trace Hub message according to some conditions. | |
Trace Hub message will be disabled if TraceHubDataEnabled() return FALSE | |
or Trace Hub MMIO address is 0. | |
@param[in, out] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
@param[in] DbgContext A pointer to Trace Hub debug instance. | |
@param[in] SeverityType Severity type of input message. | |
@param[in] PrintType Either catalog print or debug print. | |
@retval RETURN_SUCCESS Current Trace Hub message need to be output. | |
@retval Other Current Trace Hub message will be disabled. | |
**/ | |
RETURN_STATUS | |
EFIAPI | |
CheckWhetherToOutputMsg ( | |
IN OUT MIPI_SYST_HANDLE *MipiSystHandle, | |
IN UINT8 *DbgContext, | |
IN TRACE_HUB_SEVERITY_TYPE SeverityType, | |
IN TRACEHUB_PRINTTYPE PrintType | |
); | |
/** | |
Get Trace Hub MMIO Address. | |
@param[in] DbgContext A pointer to Trace Hub debug instance. | |
@param[in, out] TraceAddress Trace Hub MMIO Address. | |
@retval RETURN_SUCCESS Operation is successfully. | |
@retval Other Operation is failed. | |
**/ | |
RETURN_STATUS | |
EFIAPI | |
GetTraceHubMmioAddress ( | |
IN UINT8 *DbgContext, | |
IN OUT UINT64 *TraceAddress | |
); | |
/** | |
Get visibility of Trace Hub Msg. | |
@param[in] DbgContext A pointer to Trace Hub debug instance. | |
@param[in, out] Flag Flag to enable or disable Trace Hub message. | |
@param[in, out] DbgLevel Debug Level of Trace Hub. | |
@retval RETURN_SUCCESS Operation is successfully. | |
@retval Other Operation is failed. | |
**/ | |
RETURN_STATUS | |
EFIAPI | |
GetTraceHubMsgVisibility ( | |
IN UINT8 *DbgContext, | |
IN OUT BOOLEAN *Flag, | |
IN OUT UINT8 *DbgLevel | |
); | |
#endif // INTERNAL_TRACE_HUB_API_COMMON_H_ |