mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4144 This Library provides API to dump Trace Hub message. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Guo Gua <gua.guo@intel.com> Cc: Chan Laura <laura.chan@intel.com> Cc: Prakashan Krishnadas Veliyathuparambil <krishnadas.veliyathuparambil.prakashan@intel.com> Cc: K N Karthik <karthik.k.n@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Guo Gua <gua.guo@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: K N Karthik <karthik.k.n@intel.com> Reviewed-by: Chan Laura <laura.chan@intel.com> Acked-by: Liming Gao <gaoliming@byosoft.com.cn>
120 lines
3.3 KiB
C
120 lines
3.3 KiB
C
/** @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_
|