From: Michael Kubacki <michael.kuba...@microsoft.com> This sample module is removed since it directly depends on OS services which are no longer supported as of the current PRM design.
Cc: Andrew Fish <af...@apple.com> Cc: Kang Gao <kang....@intel.com> Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Michael Kubacki <michael.kuba...@microsoft.com> Cc: Leif Lindholm <l...@nuviainc.com> Cc: Benjamin You <benjamin....@intel.com> Cc: Liu Yun <yun.y....@intel.com> Cc: Ankit Sinha <ankit.si...@intel.com> Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com> --- PrmPkg/Samples/PrmSamplePrintModule/PrmSamplePrintModule.c | 157 -------------------- PrmPkg/PrmPkg.dsc | 1 - PrmPkg/PrmSsdtInstallDxe/Prm.asl | 5 - PrmPkg/Samples/PrmSamplePrintModule/PrmSamplePrintModule.inf | 41 ----- PrmPkg/Samples/Readme.md | 73 +-------- 5 files changed, 1 insertion(+), 276 deletions(-) diff --git a/PrmPkg/Samples/PrmSamplePrintModule/PrmSamplePrintModule.c b/PrmPkg/Samples/PrmSamplePrintModule/PrmSamplePrintModule.c deleted file mode 100644 index 85e8eb28a231..000000000000 --- a/PrmPkg/Samples/PrmSamplePrintModule/PrmSamplePrintModule.c +++ /dev/null @@ -1,157 +0,0 @@ -/** @file - - A sample PRM Module implementation. This PRM Module provides 3 PRM handlers that simply take a DEBUG print - function from the OS and invoke it with a debug message internal the PRM handler. - - Copyright (c) Microsoft Corporation - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include <PrmModule.h> - -#include <Library/BaseLib.h> -#include <Library/UefiLib.h> - -// -// PRM Handler GUIDs -// - -// {d5f2ad5f-a347-4d3e-87bc-c2ce63029cc8} -#define PRM_HANDLER_1_GUID {0xd5f2ad5f, 0xa347, 0x4d3e, {0x87, 0xbc, 0xc2, 0xce, 0x63, 0x02, 0x9c, 0xc8}} - -// {a9e7adc3-8cd0-429a-8915-10946ebde318} -#define PRM_HANDLER_2_GUID {0xa9e7adc3, 0x8cd0, 0x429a, {0x89, 0x15, 0x10, 0x94, 0x6e, 0xbd, 0xe3, 0x18}} - -// {b688c214-4081-4eeb-8d26-1eb5a3bcf11a} -#define PRM_HANDLER_N_GUID {0xb688c214, 0x4081, 0x4eeb, {0x8d, 0x26, 0x1e, 0xb5, 0xa3, 0xbc, 0xf1, 0x1a}} - -/** - A sample Platform Runtime Mechanism (PRM) handler. - - This sample handler currently uses the OS_SERVICES to write a debug message - indicating this is PRM handler 1. - - @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. - -**/ -EFI_STATUS -PRM_EXPORT_API -EFIAPI -PrmHandler1 ( - IN VOID *ParameterBuffer, - IN PRM_CONTEXT_BUFFER *ContextBUffer - ) -{ - PRM_OS_SERVICE_DEBUG_PRINT OsServiceDebugPrint; - - if (ParameterBuffer == 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 ("PRM1 handler sample message!\n"); - - return EFI_SUCCESS; -} - -/** - A sample Platform Runtime Mechanism (PRM) handler. - - This sample handler currently uses the OS_SERVICES to write a debug message - indicating this is PRM handler 2. - - @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. - -**/ -EFI_STATUS -PRM_EXPORT_API -EFIAPI -PrmHandler2 ( - IN VOID *ParameterBuffer, - IN PRM_CONTEXT_BUFFER *ContextBUffer - ) -{ - PRM_OS_SERVICE_DEBUG_PRINT OsServiceDebugPrint; - - if (ParameterBuffer == 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 ("PRM2 handler sample message!\n"); - - return EFI_SUCCESS; -} - -/** - A sample Platform Runtime Mechanism (PRM) handler. - - This sample handler currently uses the OS_SERVICES to write a debug message - indicating this is PRM handler N. - - @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. - -**/ -EFI_STATUS -PRM_EXPORT_API -EFIAPI -PrmHandlerN ( - IN VOID *ParameterBuffer, - IN PRM_CONTEXT_BUFFER *ContextBUffer - ) -{ - PRM_OS_SERVICE_DEBUG_PRINT OsServiceDebugPrint; - - if (ParameterBuffer == 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 ("PRMN handler sample message!\n"); - - return EFI_SUCCESS; -} - -// -// Register the PRM export information for this PRM Module -// -PRM_MODULE_EXPORT ( - PRM_HANDLER_EXPORT_ENTRY (PRM_HANDLER_1_GUID, PrmHandler1), - PRM_HANDLER_EXPORT_ENTRY (PRM_HANDLER_2_GUID, PrmHandler2), - PRM_HANDLER_EXPORT_ENTRY (PRM_HANDLER_N_GUID, PrmHandlerN) - ); - -EFI_STATUS -EFIAPI -PrmSamplePrintModuleInit ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - return EFI_SUCCESS; -} diff --git a/PrmPkg/PrmPkg.dsc b/PrmPkg/PrmPkg.dsc index c6e5a151eeca..68768c87f276 100644 --- a/PrmPkg/PrmPkg.dsc +++ b/PrmPkg/PrmPkg.dsc @@ -128,7 +128,6 @@ [Components] # # PRM Sample Modules # - $(PLATFORM_PACKAGE)/Samples/PrmSamplePrintModule/PrmSamplePrintModule.inf $(PLATFORM_PACKAGE)/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiParameterBufferModule.inf $(PLATFORM_PACKAGE)/Samples/PrmSampleHardwareAccessModule/PrmSampleHardwareAccessModule.inf { <LibraryClasses> diff --git a/PrmPkg/PrmSsdtInstallDxe/Prm.asl b/PrmPkg/PrmSsdtInstallDxe/Prm.asl index 20a6fef9be7b..e34336b4eee6 100644 --- a/PrmPkg/PrmSsdtInstallDxe/Prm.asl +++ b/PrmPkg/PrmSsdtInstallDxe/Prm.asl @@ -25,11 +25,6 @@ DefinitionBlock ( Name (_CID, "80860223") Name (_DDN, "PRM Test Device") - // PrmSamplePrintModule handler GUIDs - Name (BUF1, ToUUID("d5f2ad5f-a347-4d3e-87bc-c2ce63029cc8")) - Name (BUF2, ToUUID("a9e7adc3-8cd0-429a-8915-10946ebde318")) - Name (BUFN, ToUUID("b688c214-4081-4eeb-8d26-1eb5a3bcf11a")) - //PRM operation region format OperationRegion (PRMR, PlatformRtMechanism, 0, 1) Field (PRMR, BufferAcc, NoLock, Preserve) //Make it ByteAcc for parameter validation diff --git a/PrmPkg/Samples/PrmSamplePrintModule/PrmSamplePrintModule.inf b/PrmPkg/Samples/PrmSamplePrintModule/PrmSamplePrintModule.inf deleted file mode 100644 index 7ac291bc6e8a..000000000000 --- a/PrmPkg/Samples/PrmSamplePrintModule/PrmSamplePrintModule.inf +++ /dev/null @@ -1,41 +0,0 @@ -## @file -# Sample PRM Driver -# -# This driver simply uses an OS-provided debug message print service to write -# a debug message. Three PRM handlers are provided that each print a unique -# debug message. -# -# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> -# Copyright (c) Microsoft Corporation -# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -## - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = PrmSamplePrintModule - FILE_GUID = 1652B3C2-A7A1-46AC-AF93-DD6DEE446669 - MODULE_TYPE = DXE_RUNTIME_DRIVER - VERSION_STRING = 1.0 - ENTRY_POINT = PrmSamplePrintModuleInit - -[Sources] - PrmSamplePrintModule.c - -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - PrmPkg/PrmPkg.dec - -[LibraryClasses] - BaseLib - UefiDriverEntryPoint - UefiLib - -[Depex] - TRUE - -[BuildOptions.common] - MSFT:*_*_*_DLINK_FLAGS = /DLL /SUBSYSTEM:CONSOLE /VERSION:1.0 - MSFT:*_*_*_GENFW_FLAGS = --keepoptionalheader diff --git a/PrmPkg/Samples/Readme.md b/PrmPkg/Samples/Readme.md index 4926be243018..d9f06f8b87de 100644 --- a/PrmPkg/Samples/Readme.md +++ b/PrmPkg/Samples/Readme.md @@ -21,7 +21,7 @@ Note that the build command does provide the option to build a specific module i faster build time. If you would like to just build a single PRM module that can be done by specifying the path to the module INF file with the "-m" argument to `build`. For example, this command builds 32-bit and 64-bit binaries with Visual Studio 2019: \ -``build -p PrmPkg/PrmPkg.dsc -m PrmPkg/Samples/PrmSamplePrintModule/PrmSamplePrintModule.inf -a IA32 -a X64 -t VS2019`` +``build -p PrmPkg/PrmPkg.dsc -m PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.inf -a IA32 -a X64 -t VS2019`` ## PRM Sample Module User's Guide @@ -33,77 +33,6 @@ It is recommended that all PRM authors write a similar set of documentation for and interact with their PRM modules. --- -### Module: PRM Sample Print Module ->* Name: `PrmSamplePrintModule` ->* GUID: `1652b3c2-a7a1-46ac-af93-dd6dee446669` -> * Purpose: -> * Simplest PRM module example -> * Example of a PRM module with multiple PRM handlers - -**Handlers:** -#### Handler: PRM Handler 1 -* Name: `PrmHandler1` -* GUID: `d5f2ad5f-a347-4d3e-87bc-c2ce63029cc8` -* Actions: - * Use an OS-provided function pointer (pointer at the beginning of the parameter buffer) to write the message - “PRM1 handler sample message!” - -* Parameter Buffer Required: Yes -* Parameter Buffer Contents: - ```c - typedef struct { - - PRM_OS_SERVICE_DEBUG_PRINT * - - } SAMPLE_OSDEBUGPRINT_PARAMETER_BUFFER; - ``` - -* Context Buffer Required: No - -* Runtime MMIO Range(s) Required: No - -#### Handler: PRM Handler 2 -* Name: `PrmHandler2` -* GUID: `a9e7adc3-8cd0-429a-8915-10946ebde318` -* Actions: - * Use an OS-provided function pointer (pointer at the beginning of the parameter buffer) to write the message - “PRM2 handler sample message!” - -* Parameter Buffer Required: Yes -* Parameter Buffer Contents: - ```c - typedef struct { - - PRM_OS_SERVICE_DEBUG_PRINT * - - } SAMPLE_OSDEBUGPRINT_PARAMETER_BUFFER; - ``` - -* Context Buffer Required: No - -* Runtime MMIO Range(s) Required: No - -#### Handler: PRM Handler N -* Name: `PrmHandlerN` -* GUID: `b688c214-4081-4eeb-8d26-1eb5a3bcf11a` -* Actions: - * Use an OS-provided function pointer (pointer at the beginning of the parameter buffer) to write the message - “PRMN handler sample message!” - -* Parameter Buffer Required: Yes -* Parameter Buffer Contents: - ```c - typedef struct { - - PRM_OS_SERVICE_DEBUG_PRINT * - - } SAMPLE_OSDEBUGPRINT_PARAMETER_BUFFER; - ``` - -* Context Buffer Required: No - -* Runtime MMIO Range(s) Required: No - ### Module: PRM Sample ACPI Parameter Buffer >* Name: `PrmSampleAcpiParameterBufferModule` >* GUID: `dc2a58a6-5927-4776-b995-d118a27335a2` -- 2.28.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#87879): https://edk2.groups.io/g/devel/message/87879 Mute This Topic: https://groups.io/mt/89956062/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-