1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
/** @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_
|