PrmPkg: Remove PRM Module Update Lock

Per latest design direction, we've abandoned treating the PRM Module
Update Lock as an exported object. There was concern sharing the PRM
module address space (where the lock structure resided in a data section)
with the OS kernel mode driver. The lock will now be entirely maintained
in OS context with interaces to control the lock available to ASL
(for _DSM invocation) and OS native code (for direct call).

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>
This commit is contained in:
Michael Kubacki
2020-05-27 12:47:00 -07:00
committed by mergify[bot]
parent 50e1432a40
commit a409f4b67d
5 changed files with 18 additions and 105 deletions

View File

@@ -26,7 +26,6 @@
#include <PrmContextBuffer.h>
#include <PrmMmio.h>
#include <PrmModuleUpdate.h>
LIST_ENTRY mPrmModuleList;
@@ -707,23 +706,6 @@ ProcessPrmModules (
);
ASSERT_EFI_ERROR (Status);
Status = GetExportEntryAddress (
PRM_STRING (PRM_MODULE_UPDATE_LOCK_DESCRIPTOR_NAME),
CurrentImageAddress,
CurrentImageExportDirectory,
(EFI_PHYSICAL_ADDRESS *) &(CurrentModuleInfoStruct->ModuleUpdateLock)
);
ASSERT_EFI_ERROR (Status);
if (!EFI_ERROR (Status)) {
DEBUG ((
DEBUG_INFO,
" %a %a: Found PRM module update lock physical address at 0x%016x.\n",
_DBGMSGID_,
__FUNCTION__,
CurrentModuleInfoStruct->ModuleUpdateLock
));
}
// It is currently valid for a PRM module not to use a context buffer
Status = GetModuleContextBuffers (
ByModuleGuid,