summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c
diff options
context:
space:
mode:
authorkx <kx@radix.pro>2024-06-04 06:43:08 +0300
committerkx <kx@radix.pro>2024-06-04 06:43:08 +0300
commit7e2ccccace24636f29ddc210b94606abd4c7e42b (patch)
tree545d43ea12671048956cafeb12303e84d601e571 /MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c
parent27b044605cd5f6b33a3d231576003850b3fe305b (diff)
downloadedk2-trunk.tar.xz
Renormalized end-of-lines from master@27b044605cd5f6b33a3d231576003850b3fe305btrunk
Diffstat (limited to 'MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c')
-rw-r--r--MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c526
1 files changed, 263 insertions, 263 deletions
diff --git a/MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c b/MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c
index 6001f4dfd9..1bddd228c3 100644
--- a/MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c
+++ b/MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c
@@ -1,263 +1,263 @@
-/** @file
-System prints Trace Hub message in DXE/SMM based on fixed PCDs and HOB.
-Trace Hub PCDs will be applied if no HOB exist.
-
-Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
-
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <Base.h>
-#include <Library/BaseLib.h>
-#include <Library/PcdLib.h>
-#include <Library/HobLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/TraceHubDebugSysTLib.h>
-#include <Library/MipiSysTLib.h>
-#include <Library/MipiSysTLib/mipi_syst.h>
-#include <Guid/TraceHubDebugInfoHob.h>
-#include "InternalTraceHubApiCommon.h"
-#include "InternalTraceHubApi.h"
-
-GLOBAL_REMOVE_IF_UNREFERENCED TRACEHUB_DEBUG_INFO_HOB *mThDebugInstArray = NULL;
-GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mDbgInstCount = 0;
-
-/**
- Write debug string to specified Trace Hub MMIO address.
-
- @param[in] SeverityType Severity type of input message.
- @param[in] Buffer A pointer to the data buffer.
- @param[in] NumberOfBytes The size of data buffer.
-
- @retval RETURN_SUCCESS Data was written to Trace Hub.
- @retval Other Failed to output Trace Hub message.
-**/
-RETURN_STATUS
-EFIAPI
-TraceHubSysTDebugWrite (
- IN TRACE_HUB_SEVERITY_TYPE SeverityType,
- IN UINT8 *Buffer,
- IN UINTN NumberOfBytes
- )
-{
- MIPI_SYST_HANDLE MipiSystHandle;
- MIPI_SYST_HEADER MipiSystHeader;
- RETURN_STATUS Status;
- UINT32 Index;
-
- if ((mDbgInstCount == 0) || (mThDebugInstArray == NULL)) {
- return RETURN_ABORTED;
- }
-
- if (NumberOfBytes == 0) {
- //
- // No data need to be written to Trace Hub
- //
- return RETURN_SUCCESS;
- }
-
- if (Buffer == NULL) {
- return RETURN_INVALID_PARAMETER;
- }
-
- ZeroMem (&MipiSystHandle, sizeof (MIPI_SYST_HANDLE));
- MipiSystHandle.systh_header = &MipiSystHeader;
-
- Status = InitMipiSystHandle (&MipiSystHandle);
- if (RETURN_ERROR (Status)) {
- return Status;
- }
-
- for (Index = 0; Index < mDbgInstCount; Index++) {
- Status = CheckWhetherToOutputMsg (
- &MipiSystHandle,
- (UINT8 *)&mThDebugInstArray[Index],
- SeverityType,
- TraceHubDebugType
- );
- if (!RETURN_ERROR (Status)) {
- Status = MipiSystWriteDebug (
- &MipiSystHandle,
- SeverityType,
- (UINT16)NumberOfBytes,
- (CHAR8 *)Buffer
- );
- if (RETURN_ERROR (Status)) {
- break;
- }
- }
- }
-
- return Status;
-}
-
-/**
- Write catalog status code message to specified Trace Hub MMIO address.
-
- @param[in] SeverityType Severity type of input message.
- @param[in] Id Catalog ID.
- @param[in] Guid Driver Guid.
-
- @retval RETURN_SUCCESS Data was written to Trace Hub.
- @retval Other Failed to output Trace Hub message.
-**/
-RETURN_STATUS
-EFIAPI
-TraceHubSysTWriteCataLog64StatusCode (
- IN TRACE_HUB_SEVERITY_TYPE SeverityType,
- IN UINT64 Id,
- IN GUID *Guid
- )
-{
- MIPI_SYST_HANDLE MipiSystHandle;
- MIPI_SYST_HEADER MipiSystHeader;
- UINTN Index;
- RETURN_STATUS Status;
-
- if ((mDbgInstCount == 0) || (mThDebugInstArray == NULL)) {
- return RETURN_ABORTED;
- }
-
- ZeroMem (&MipiSystHandle, sizeof (MIPI_SYST_HANDLE));
- MipiSystHandle.systh_header = &MipiSystHeader;
-
- Status = InitMipiSystHandle (&MipiSystHandle);
- if (RETURN_ERROR (Status)) {
- return Status;
- }
-
- if (Guid != NULL) {
- SwapBytesGuid (Guid, (GUID *)(VOID *)&MipiSystHandle.systh_guid);
- MipiSystHandle.systh_tag.et_guid = 1;
- } else {
- MipiSystHandle.systh_tag.et_modunit = 2;
- MipiSystHandle.systh_tag.et_guid = 0;
- }
-
- for (Index = 0; Index < mDbgInstCount; Index++) {
- Status = CheckWhetherToOutputMsg (
- &MipiSystHandle,
- (UINT8 *)&mThDebugInstArray[Index],
- SeverityType,
- TraceHubCatalogType
- );
- if (!RETURN_ERROR (Status)) {
- Status = MipiSystWriteCatalog (
- &MipiSystHandle,
- SeverityType,
- Id
- );
- if (RETURN_ERROR (Status)) {
- break;
- }
- }
- }
-
- return Status;
-}
-
-/**
- Write catalog message to specified Trace Hub MMIO address.
-
- @param[in] SeverityType Severity type of input message.
- @param[in] Id Catalog ID.
- @param[in] NumberOfParams Number of entries in argument list.
- @param[in] ... Catalog message parameters.
-
- @retval RETURN_SUCCESS Data was written to Trace Hub.
- @retval Other Failed to output Trace Hub message.
-**/
-RETURN_STATUS
-EFIAPI
-TraceHubSysTWriteCataLog64 (
- IN TRACE_HUB_SEVERITY_TYPE SeverityType,
- IN UINT64 Id,
- IN UINTN NumberOfParams,
- ...
- )
-{
- MIPI_SYST_HANDLE MipiSystHandle;
- MIPI_SYST_HEADER MipiSystHeader;
- VA_LIST Args;
- UINTN Index;
- RETURN_STATUS Status;
-
- if (NumberOfParams > sizeof (MipiSystHandle.systh_param) / sizeof (UINT32)) {
- return RETURN_INVALID_PARAMETER;
- }
-
- if ((mDbgInstCount == 0) || (mThDebugInstArray == NULL)) {
- return RETURN_ABORTED;
- }
-
- ZeroMem (&MipiSystHandle, sizeof (MIPI_SYST_HANDLE));
- MipiSystHandle.systh_header = &MipiSystHeader;
-
- Status = InitMipiSystHandle (&MipiSystHandle);
- if (RETURN_ERROR (Status)) {
- return Status;
- }
-
- MipiSystHandle.systh_param_count = (UINT32)NumberOfParams;
- VA_START (Args, NumberOfParams);
- for (Index = 0; Index < NumberOfParams; Index++) {
- MipiSystHandle.systh_param[Index] = VA_ARG (Args, UINT32);
- }
-
- VA_END (Args);
-
- for (Index = 0; Index < mDbgInstCount; Index++) {
- Status = CheckWhetherToOutputMsg (
- &MipiSystHandle,
- (UINT8 *)&mThDebugInstArray[Index],
- SeverityType,
- TraceHubCatalogType
- );
- if (!RETURN_ERROR (Status)) {
- Status = MipiSystWriteCatalog (
- &MipiSystHandle,
- SeverityType,
- Id
- );
- if (RETURN_ERROR (Status)) {
- break;
- }
- }
- }
-
- return Status;
-}
-
-/**
- Constructor to get TraceHob configuration data
-
- @param ImageHandle The firmware allocated handle for the EFI image.
- @param SystemTable A pointer to the EFI System Table.
-
- @retval RETURN_SUCCESS The constructor always returns EFI_SUCCESS.
- @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to retrieve the matching FFS section.
-
-**/
-RETURN_STATUS
-EFIAPI
-DxeSmmTraceHubDebugSysTLibConstructor (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-{
- if (mDbgInstCount == 0) {
- mDbgInstCount = CountThDebugInstance ();
- }
-
- mThDebugInstArray = AllocateZeroPool (mDbgInstCount * sizeof (TRACEHUB_DEBUG_INFO_HOB));
-
- if (mThDebugInstArray != NULL) {
- PackThDebugInstance (mThDebugInstArray, mDbgInstCount);
- } else {
- return RETURN_OUT_OF_RESOURCES;
- }
-
- return RETURN_SUCCESS;
-}
+/** @file
+System prints Trace Hub message in DXE/SMM based on fixed PCDs and HOB.
+Trace Hub PCDs will be applied if no HOB exist.
+
+Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
+
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Base.h>
+#include <Library/BaseLib.h>
+#include <Library/PcdLib.h>
+#include <Library/HobLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/TraceHubDebugSysTLib.h>
+#include <Library/MipiSysTLib.h>
+#include <Library/MipiSysTLib/mipi_syst.h>
+#include <Guid/TraceHubDebugInfoHob.h>
+#include "InternalTraceHubApiCommon.h"
+#include "InternalTraceHubApi.h"
+
+GLOBAL_REMOVE_IF_UNREFERENCED TRACEHUB_DEBUG_INFO_HOB *mThDebugInstArray = NULL;
+GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mDbgInstCount = 0;
+
+/**
+ Write debug string to specified Trace Hub MMIO address.
+
+ @param[in] SeverityType Severity type of input message.
+ @param[in] Buffer A pointer to the data buffer.
+ @param[in] NumberOfBytes The size of data buffer.
+
+ @retval RETURN_SUCCESS Data was written to Trace Hub.
+ @retval Other Failed to output Trace Hub message.
+**/
+RETURN_STATUS
+EFIAPI
+TraceHubSysTDebugWrite (
+ IN TRACE_HUB_SEVERITY_TYPE SeverityType,
+ IN UINT8 *Buffer,
+ IN UINTN NumberOfBytes
+ )
+{
+ MIPI_SYST_HANDLE MipiSystHandle;
+ MIPI_SYST_HEADER MipiSystHeader;
+ RETURN_STATUS Status;
+ UINT32 Index;
+
+ if ((mDbgInstCount == 0) || (mThDebugInstArray == NULL)) {
+ return RETURN_ABORTED;
+ }
+
+ if (NumberOfBytes == 0) {
+ //
+ // No data need to be written to Trace Hub
+ //
+ return RETURN_SUCCESS;
+ }
+
+ if (Buffer == NULL) {
+ return RETURN_INVALID_PARAMETER;
+ }
+
+ ZeroMem (&MipiSystHandle, sizeof (MIPI_SYST_HANDLE));
+ MipiSystHandle.systh_header = &MipiSystHeader;
+
+ Status = InitMipiSystHandle (&MipiSystHandle);
+ if (RETURN_ERROR (Status)) {
+ return Status;
+ }
+
+ for (Index = 0; Index < mDbgInstCount; Index++) {
+ Status = CheckWhetherToOutputMsg (
+ &MipiSystHandle,
+ (UINT8 *)&mThDebugInstArray[Index],
+ SeverityType,
+ TraceHubDebugType
+ );
+ if (!RETURN_ERROR (Status)) {
+ Status = MipiSystWriteDebug (
+ &MipiSystHandle,
+ SeverityType,
+ (UINT16)NumberOfBytes,
+ (CHAR8 *)Buffer
+ );
+ if (RETURN_ERROR (Status)) {
+ break;
+ }
+ }
+ }
+
+ return Status;
+}
+
+/**
+ Write catalog status code message to specified Trace Hub MMIO address.
+
+ @param[in] SeverityType Severity type of input message.
+ @param[in] Id Catalog ID.
+ @param[in] Guid Driver Guid.
+
+ @retval RETURN_SUCCESS Data was written to Trace Hub.
+ @retval Other Failed to output Trace Hub message.
+**/
+RETURN_STATUS
+EFIAPI
+TraceHubSysTWriteCataLog64StatusCode (
+ IN TRACE_HUB_SEVERITY_TYPE SeverityType,
+ IN UINT64 Id,
+ IN GUID *Guid
+ )
+{
+ MIPI_SYST_HANDLE MipiSystHandle;
+ MIPI_SYST_HEADER MipiSystHeader;
+ UINTN Index;
+ RETURN_STATUS Status;
+
+ if ((mDbgInstCount == 0) || (mThDebugInstArray == NULL)) {
+ return RETURN_ABORTED;
+ }
+
+ ZeroMem (&MipiSystHandle, sizeof (MIPI_SYST_HANDLE));
+ MipiSystHandle.systh_header = &MipiSystHeader;
+
+ Status = InitMipiSystHandle (&MipiSystHandle);
+ if (RETURN_ERROR (Status)) {
+ return Status;
+ }
+
+ if (Guid != NULL) {
+ SwapBytesGuid (Guid, (GUID *)(VOID *)&MipiSystHandle.systh_guid);
+ MipiSystHandle.systh_tag.et_guid = 1;
+ } else {
+ MipiSystHandle.systh_tag.et_modunit = 2;
+ MipiSystHandle.systh_tag.et_guid = 0;
+ }
+
+ for (Index = 0; Index < mDbgInstCount; Index++) {
+ Status = CheckWhetherToOutputMsg (
+ &MipiSystHandle,
+ (UINT8 *)&mThDebugInstArray[Index],
+ SeverityType,
+ TraceHubCatalogType
+ );
+ if (!RETURN_ERROR (Status)) {
+ Status = MipiSystWriteCatalog (
+ &MipiSystHandle,
+ SeverityType,
+ Id
+ );
+ if (RETURN_ERROR (Status)) {
+ break;
+ }
+ }
+ }
+
+ return Status;
+}
+
+/**
+ Write catalog message to specified Trace Hub MMIO address.
+
+ @param[in] SeverityType Severity type of input message.
+ @param[in] Id Catalog ID.
+ @param[in] NumberOfParams Number of entries in argument list.
+ @param[in] ... Catalog message parameters.
+
+ @retval RETURN_SUCCESS Data was written to Trace Hub.
+ @retval Other Failed to output Trace Hub message.
+**/
+RETURN_STATUS
+EFIAPI
+TraceHubSysTWriteCataLog64 (
+ IN TRACE_HUB_SEVERITY_TYPE SeverityType,
+ IN UINT64 Id,
+ IN UINTN NumberOfParams,
+ ...
+ )
+{
+ MIPI_SYST_HANDLE MipiSystHandle;
+ MIPI_SYST_HEADER MipiSystHeader;
+ VA_LIST Args;
+ UINTN Index;
+ RETURN_STATUS Status;
+
+ if (NumberOfParams > sizeof (MipiSystHandle.systh_param) / sizeof (UINT32)) {
+ return RETURN_INVALID_PARAMETER;
+ }
+
+ if ((mDbgInstCount == 0) || (mThDebugInstArray == NULL)) {
+ return RETURN_ABORTED;
+ }
+
+ ZeroMem (&MipiSystHandle, sizeof (MIPI_SYST_HANDLE));
+ MipiSystHandle.systh_header = &MipiSystHeader;
+
+ Status = InitMipiSystHandle (&MipiSystHandle);
+ if (RETURN_ERROR (Status)) {
+ return Status;
+ }
+
+ MipiSystHandle.systh_param_count = (UINT32)NumberOfParams;
+ VA_START (Args, NumberOfParams);
+ for (Index = 0; Index < NumberOfParams; Index++) {
+ MipiSystHandle.systh_param[Index] = VA_ARG (Args, UINT32);
+ }
+
+ VA_END (Args);
+
+ for (Index = 0; Index < mDbgInstCount; Index++) {
+ Status = CheckWhetherToOutputMsg (
+ &MipiSystHandle,
+ (UINT8 *)&mThDebugInstArray[Index],
+ SeverityType,
+ TraceHubCatalogType
+ );
+ if (!RETURN_ERROR (Status)) {
+ Status = MipiSystWriteCatalog (
+ &MipiSystHandle,
+ SeverityType,
+ Id
+ );
+ if (RETURN_ERROR (Status)) {
+ break;
+ }
+ }
+ }
+
+ return Status;
+}
+
+/**
+ Constructor to get TraceHob configuration data
+
+ @param ImageHandle The firmware allocated handle for the EFI image.
+ @param SystemTable A pointer to the EFI System Table.
+
+ @retval RETURN_SUCCESS The constructor always returns EFI_SUCCESS.
+ @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to retrieve the matching FFS section.
+
+**/
+RETURN_STATUS
+EFIAPI
+DxeSmmTraceHubDebugSysTLibConstructor (
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable
+ )
+{
+ if (mDbgInstCount == 0) {
+ mDbgInstCount = CountThDebugInstance ();
+ }
+
+ mThDebugInstArray = AllocateZeroPool (mDbgInstCount * sizeof (TRACEHUB_DEBUG_INFO_HOB));
+
+ if (mThDebugInstArray != NULL) {
+ PackThDebugInstance (mThDebugInstArray, mDbgInstCount);
+ } else {
+ return RETURN_OUT_OF_RESOURCES;
+ }
+
+ return RETURN_SUCCESS;
+}