summaryrefslogtreecommitdiffstats
path: root/RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.h
diff options
context:
space:
mode:
Diffstat (limited to 'RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.h')
-rw-r--r--RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.h46
1 files changed, 44 insertions, 2 deletions
diff --git a/RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.h b/RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.h
index 38adea04c5..688f2067bf 100644
--- a/RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.h
+++ b/RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.h
@@ -3,6 +3,7 @@
(C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+ Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -20,7 +21,9 @@
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
+#include <Library/PcdLib.h>
#include <Library/PrintLib.h>
+#include <Library/RedfishDebugLib.h>
#include <Library/UefiLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiDriverEntryPoint.h>
@@ -37,6 +40,41 @@
//
#include <Protocol/EdkIIRedfishPlatformConfig.h>
+//
+// Debug message in DEBUG_REDFISH_COMPONENT_PLATFORM_CONFIG_DXE scope.
+// To enable the debug message for this module, below PCDs must be set.
+//
+// 1. DEBUG_MANAGEABILITY must be set PcdDebugPrintErrorLevel.
+//
+// 2 RedfishPlatformConfigDxe debug enablement must be set in
+// PcdRedfishDebugCategory (defined in RedfishPkg.dec)
+//
+// 3. The suborinate debug enablement for RedfishPlatformConfigDxe
+// must be set in PcdRedfishPlatformConfigDebugPropert (defined
+// in RedfishPkg.dec).
+//
+#define DEBUG_REDFISH_THIS_MODULE(DebugSubordinate, ...) \
+ while (RedfishPlatformConfigDebugProp (DebugSubordinate)) { \
+ DEBUG_REDFISH(DEBUG_REDFISH_COMPONENT_PLATFORM_CONFIG_DXE, ##__VA_ARGS__); \
+ break; \
+ }
+
+#define DEBUG_REDFISH_THIS_MODULE_CODE_BEGIN(DebugSubordinate) \
+ if (RedfishPlatformConfigDebugProp (DebugSubordinate)) {
+
+#define DEBUG_REDFISH_THIS_MODULE_CODE_END() }
+
+#define DEBUG_REDFISH_THIS_MODULE_CODE(DebugSubordinate, Expression) \
+ DEBUG_REDFISH_THIS_MODULE_CODE_BEGIN(DebugSubordinate) \
+ Expression \
+ DEBUG_REDFISH_THIS_MODULE_CODE_END()
+
+// Subordinate debug property for DEBUG_REDFISH_PLATFORM_CONFIG_DXE
+#define REDFISH_PLATFORM_CONFIG_DEBUG_STRING_DATABASE 0x00000001
+#define REDFISH_PLATFORM_CONFIG_DEBUG_DUMP_FORMSET 0x00000002
+#define REDFISH_PLATFORM_CONFIG_DEBUG_CONFIG_LANG_SEARCH 0x00000004
+#define REDFISH_PLATFORM_CONFIG_DEBUG_CONFIG_LANG_REGEX 0x00000008
+
///
/// Definition of EDKII_REDFISH_PLATFORM_CONFIG_NOTIFY.
///
@@ -75,8 +113,12 @@ typedef struct {
#define REGULAR_EXPRESSION_INCLUDE_ALL L".*"
#define CONFIGURE_LANGUAGE_PREFIX "x-uefi-redfish-"
#define REDFISH_PLATFORM_CONFIG_VERSION 0x00010000
-#define REDFISH_PLATFORM_CONFIG_DEBUG DEBUG_MANAGEABILITY
-#define REDFISH_MENU_PATH_SIZE 8
+
+#define REDFISH_MENU_PATH_SIZE 8
+
+// Definitions of Redfish platform config capbility
+#define REDFISH_PLATFORM_CONFIG_BUILD_MENU_PATH 0x000000001
+#define REDFISH_PLATFORM_CONFIG_ALLOW_SUPPRESSED 0x000000002
/**
Convert input unicode string to ascii string. It's caller's