diff options
author | Michael Kubacki <michael.kubacki@microsoft.com> | 2020-06-09 09:44:25 -0700 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-04-05 00:42:38 +0000 |
commit | c1a7a50f67a3d3ac3b9c21275181a695b879403c (patch) | |
tree | bc0ae7074afac05e37c6b057be5f065272ab00d9 /PrmPkg | |
parent | be2c927d7c61bedbf898d346c536368708e57c0c (diff) | |
download | edk2-c1a7a50f67a3d3ac3b9c21275181a695b879403c.zip edk2-c1a7a50f67a3d3ac3b9c21275181a695b879403c.tar.gz edk2-c1a7a50f67a3d3ac3b9c21275181a695b879403c.tar.bz2 |
PrmPkg/PrmSampleContextBufferModule: Remove OS debug print requirement
Removes the expectation that the parameter buffer contain an OS
debug print service at the beginning of the buffer. All supporting
code related to printing is also removed.
Cc: Andrew Fish <afish@apple.com>
Cc: Kang Gao <kang.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Michael Kubacki <michael.kubacki@microsoft.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Benjamin You <benjamin.you@intel.com>
Cc: Liu Yun <yun.y.liu@intel.com>
Cc: Ankit Sinha <ankit.sinha@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
Acked-by: Liming Gao <gaoliming@byosoft.com.cn>
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com>
Reviewed-by: Ankit Sinha <ankit.sinha@intel.com>
Diffstat (limited to 'PrmPkg')
2 files changed, 17 insertions, 115 deletions
diff --git a/PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBufferModuleConfigLib/DxeContextBufferModuleConfigLib.c b/PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBufferModuleConfigLib/DxeContextBufferModuleConfigLib.c index c222c96..4c0c334 100644 --- a/PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBufferModuleConfigLib/DxeContextBufferModuleConfigLib.c +++ b/PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBufferModuleConfigLib/DxeContextBufferModuleConfigLib.c @@ -24,7 +24,7 @@ STATIC EFI_HANDLE mPrmConfigProtocolHandle; STATIC CONST EFI_GUID mPrmModuleGuid = {0x5a6cf42b, 0x8bb4, 0x472c, {0xa2, 0x33, 0x5c, 0x4d, 0xc4, 0x03, 0x3d, 0xc7}};
// {e1466081-7562-430f-896b-b0e523dc335a}
-STATIC CONST EFI_GUID mDumpStaticDataBufferPrmHandlerGuid = {0xe1466081, 0x7562, 0x430f, {0x89, 0x6b, 0xb0, 0xe5, 0x23, 0xdc, 0x33, 0x5a}};
+STATIC CONST EFI_GUID mCheckStaticDataBufferPrmHandlerGuid = {0xe1466081, 0x7562, 0x430f, {0x89, 0x6b, 0xb0, 0xe5, 0x23, 0xdc, 0x33, 0x5a}};
/**
Populates the static data buffer for this PRM module.
@@ -166,7 +166,7 @@ ContextBufferModuleConfigLibConstructor ( Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
- CopyGuid (&PrmContextBuffer->HandlerGuid, &mDumpStaticDataBufferPrmHandlerGuid);
+ CopyGuid (&PrmContextBuffer->HandlerGuid, &mCheckStaticDataBufferPrmHandlerGuid);
PrmContextBuffer->Signature = PRM_CONTEXT_BUFFER_SIGNATURE;
PrmContextBuffer->Version = PRM_CONTEXT_BUFFER_INTERFACE_VERSION;
PrmContextBuffer->StaticDataBuffer = StaticDataBuffer;
diff --git a/PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.c b/PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.c index 074552d..5c4e5c7 100644 --- a/PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.c +++ b/PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.c @@ -21,146 +21,39 @@ //
// {e1466081-7562-430f-896b-b0e523dc335a}
-#define DUMP_STATIC_DATA_BUFFER_PRM_HANDLER_GUID {0xe1466081, 0x7562, 0x430f, {0x89, 0x6b, 0xb0, 0xe5, 0x23, 0xdc, 0x33, 0x5a}}
-
-/**
- Dumps the contents of a given buffer.
-
- @param[in] OsServiceDebugPrint A pointer to the debug print OS service.
- @param[in] Buffer A pointer to the buffer that should be dumped.
- @param[in] BufferSize The size of Buffer in bytes.
-
-**/
-STATIC
-VOID
-DumpBuffer (
- IN PRM_OS_SERVICE_DEBUG_PRINT OsServiceDebugPrint,
- IN CONST VOID *Buffer,
- IN UINTN BufferSize
- )
-{
- UINTN Count;
- CONST UINT8 *Char = Buffer;
- CHAR8 DebugMessage[16];
-
- if (OsServiceDebugPrint == NULL || Buffer == NULL) {
- return;
- }
-
- OsServiceDebugPrint (" ");
- for (Count = 0; Count < BufferSize; Count++)
- {
- if (Count && !(Count % 16)) {
- OsServiceDebugPrint ("\n ");
- }
- AsciiSPrint (
- &DebugMessage[0],
- ARRAY_SIZE (DebugMessage),
- "%02X ",
- Char[Count]
- );
- OsServiceDebugPrint (&DebugMessage[0]);
- }
- OsServiceDebugPrint ("\n\n");
-}
-
-/**
- Prints the contents of this PRM module's static data buffer.
-
- @param[in] OsServiceDebugPrint A pointer to the debug print OS service.
- @param[in] StaticDataBuffer A pointer to the static buffer.
-
-**/
-VOID
-EFIAPI
-PrintStaticDataBuffer (
- IN PRM_OS_SERVICE_DEBUG_PRINT OsServiceDebugPrint,
- IN CONST STATIC_DATA_SAMPLE_CONTEXT_BUFFER_MODULE *StaticDataBuffer
- )
-{
- CHAR8 DebugMessage[256];
-
- if (OsServiceDebugPrint == NULL || StaticDataBuffer == NULL) {
- return;
- }
-
- AsciiSPrint (
- &DebugMessage[0],
- ARRAY_SIZE (DebugMessage),
- " Policy1Enabled = 0x%x.\n",
- StaticDataBuffer->Policy1Enabled
- );
- OsServiceDebugPrint (&DebugMessage[0]);
-
- AsciiSPrint (
- &DebugMessage[0],
- ARRAY_SIZE (DebugMessage),
- " Policy2Enabled = 0x%x.\n",
- StaticDataBuffer->Policy2Enabled
- );
- OsServiceDebugPrint (&DebugMessage[0]);
-
- OsServiceDebugPrint (" Dumping SomeValueArray:\n");
- DumpBuffer (
- OsServiceDebugPrint,
- (CONST VOID *) &StaticDataBuffer->SomeValueArray[0],
- ARRAY_SIZE (StaticDataBuffer->SomeValueArray)
- );
-}
+#define CHECK_STATIC_DATA_BUFFER_PRM_HANDLER_GUID {0xe1466081, 0x7562, 0x430f, {0x89, 0x6b, 0xb0, 0xe5, 0x23, 0xdc, 0x33, 0x5a}}
/**
A sample Platform Runtime Mechanism (PRM) handler.
- This sample handler attempts to read the contents of the static data buffer that were configured
- during the firmware boot environment and print those contents at OS runtime.
+ This sample handler checks that a static data buffer can be accessed from a given context buffer.
- @param[in] OsServices An array of pointers to OS provided services for PRM handlers
- @param[in] Context Handler context info
+ @param[in] ParameterBuffer A pointer to the PRM handler parameter buffer
+ @param[in] ContextBUffer A pointer to the PRM handler context buffer
@retval EFI_STATUS The PRM handler executed successfully.
@retval Others An error occurred in the PRM handler.
**/
-PRM_HANDLER_EXPORT (DumpStaticDataBufferPrmHandler)
+PRM_HANDLER_EXPORT (CheckStaticDataBufferPrmHandler)
{
- PRM_OS_SERVICE_DEBUG_PRINT OsServiceDebugPrint;
-
if (ContextBuffer == NULL) {
return EFI_INVALID_PARAMETER;
}
- // In the POC, the OS debug print service is assumed to be at the beginning of ParameterBuffer
- OsServiceDebugPrint = *((PRM_OS_SERVICE_DEBUG_PRINT *) ParameterBuffer);
- if (OsServiceDebugPrint == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- OsServiceDebugPrint ("Context Buffer DumpStaticDataBufferPrmHandler entry.\n");
-
if (ContextBuffer->StaticDataBuffer == NULL) {
- OsServiceDebugPrint ("The static buffer is not allocated!\n");
return EFI_INVALID_PARAMETER;
}
- OsServiceDebugPrint (" Printing the contents of the static data buffer:\n");
-
//
// Verify PRM data buffer signature is valid
//
if (
ContextBuffer->Signature != PRM_CONTEXT_BUFFER_SIGNATURE ||
ContextBuffer->StaticDataBuffer->Header.Signature != PRM_DATA_BUFFER_HEADER_SIGNATURE) {
- OsServiceDebugPrint (" A buffer signature is invalid!\n");
return EFI_NOT_FOUND;
}
- PrintStaticDataBuffer (
- OsServiceDebugPrint,
- (CONST STATIC_DATA_SAMPLE_CONTEXT_BUFFER_MODULE *) &(ContextBuffer->StaticDataBuffer->Data[0])
- );
-
- OsServiceDebugPrint ("Context Buffer DumpStaticDataBufferPrmHandler exit.\n");
-
return EFI_SUCCESS;
}
@@ -168,9 +61,18 @@ PRM_HANDLER_EXPORT (DumpStaticDataBufferPrmHandler) // Register the PRM export information for this PRM Module
//
PRM_MODULE_EXPORT (
- PRM_HANDLER_EXPORT_ENTRY (DUMP_STATIC_DATA_BUFFER_PRM_HANDLER_GUID, DumpStaticDataBufferPrmHandler)
+ PRM_HANDLER_EXPORT_ENTRY (CHECK_STATIC_DATA_BUFFER_PRM_HANDLER_GUID, CheckStaticDataBufferPrmHandler)
);
+/**
+ Module entry point.
+
+ @param[in] ImageHandle The image handle.
+ @param[in] SystemTable A pointer to the system table.
+
+ @retval EFI_SUCCESS This function always returns success.
+
+**/
EFI_STATUS
EFIAPI
PrmSampleContextBufferModuleInit (
|