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:
committed by
mergify[bot]
parent
50e1432a40
commit
a409f4b67d
@@ -15,7 +15,6 @@
|
||||
#include <PrmDataBuffer.h>
|
||||
#include <PrmExportDescriptor.h>
|
||||
#include <PrmMmio.h>
|
||||
#include <PrmModuleUpdate.h>
|
||||
#include <PrmOsServices.h>
|
||||
|
||||
/**
|
||||
@@ -46,23 +45,4 @@
|
||||
IN PRM_CONTEXT_BUFFER *ContextBuffer \
|
||||
) \
|
||||
|
||||
/**
|
||||
A macro that declares the PRM Module Update Lock Descriptor for a PRM Module.
|
||||
|
||||
This macro is intended to be used once in a PRM Module so the module update lock descriptor is
|
||||
exported for the module.
|
||||
|
||||
**/
|
||||
#define PRM_MODULE_UPDATE_LOCK_EXPORT \
|
||||
PRM_EXPORT_API PRM_MODULE_UPDATE_LOCK_DESCRIPTOR PRM_MODULE_UPDATE_LOCK_DESCRIPTOR_NAME = { \
|
||||
PRM_MODULE_UPDATE_LOCK_DESCRIPTOR_SIGNATURE, \
|
||||
PRM_MODULE_UPDATE_LOCK_REVISION, \
|
||||
{ 0 } \
|
||||
} \
|
||||
|
||||
//
|
||||
// A PRM module is required to export the PRM Module Update Lock
|
||||
//
|
||||
PRM_MODULE_UPDATE_LOCK_EXPORT;
|
||||
|
||||
#endif
|
||||
|
@@ -1,46 +0,0 @@
|
||||
/** @file
|
||||
|
||||
Definition for the Platform Runtime Mechanism (PRM) module update structures.
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef PRM_MODULE_UPDATE_H_
|
||||
#define PRM_MODULE_UPDATE_H_
|
||||
|
||||
#include <Uefi.h>
|
||||
|
||||
#define PRM_MODULE_UPDATE_LOCK_DESCRIPTOR_NAME PrmModuleUpdateLock
|
||||
#define PRM_MODULE_UPDATE_LOCK_DESCRIPTOR_SIGNATURE SIGNATURE_64 ('P', 'R', 'M', '_', 'M', 'U', 'L', '_')
|
||||
#define PRM_MODULE_UPDATE_LOCK_REVISION 0x0
|
||||
|
||||
#pragma pack(push, 1)
|
||||
|
||||
///
|
||||
/// Maintains the PRM Module Update Lock state
|
||||
///
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
UINT8 Acquired : 1; ///< [0] - If 1 lock is acquired. If 0 lock is released.
|
||||
UINT8 Reserved : 7; ///< [7:1] - Reserved
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as an 8-bit value
|
||||
///
|
||||
UINT8 Uint8;
|
||||
} PRM_MODULE_UPDATE_LOCK;
|
||||
|
||||
typedef struct {
|
||||
UINT64 Signature;
|
||||
UINT16 Revision;
|
||||
PRM_MODULE_UPDATE_LOCK Lock;
|
||||
} PRM_MODULE_UPDATE_LOCK_DESCRIPTOR;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user