UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm
This change adds a new CpuIo driver instance for MM_STANDALONE type. The new driver entrypoint is implemented in a separate file to match the interface definition of MM_STANDALONE modules. Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Signed-off-by: Kun Qin <kun.q@outlook.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
32
UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
Normal file
32
UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/** @file
|
||||
Produces the SMM CPU I/O Protocol.
|
||||
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) Microsoft Corporation.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include <PiMm.h>
|
||||
|
||||
#include "CpuIo2Mm.h"
|
||||
|
||||
/**
|
||||
The module Entry Point for Standalone MM CpuIoProtocol driver
|
||||
|
||||
@param[in] ImageHandle The firmware allocated handle for the EFI image.
|
||||
@param[in] SystemTable A pointer to the EFI System Table.
|
||||
|
||||
@retval EFI_SUCCESS The entry point is executed successfully.
|
||||
@retval Other Some error occurs when executing this entry point.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
StandaloneMmCpuIo2Initialize (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_MM_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
return CommonCpuIo2Initialize ();
|
||||
}
|
45
UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.inf
Normal file
45
UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.inf
Normal file
@@ -0,0 +1,45 @@
|
||||
## @file
|
||||
# Produces the SMM CPU I/O 2 Protocol by using the services of the I/O Library.
|
||||
#
|
||||
# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = CpuIo2StandaloneMm
|
||||
FILE_GUID = E3121A26-BB1C-4A18-8E23-2EA3F0412248
|
||||
MODULE_TYPE = MM_STANDALONE
|
||||
VERSION_STRING = 1.0
|
||||
PI_SPECIFICATION_VERSION = 0x00010032
|
||||
ENTRY_POINT = StandaloneMmCpuIo2Initialize
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources]
|
||||
CpuIo2StandaloneMm.c
|
||||
CpuIo2Mm.c
|
||||
CpuIo2Mm.h
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
StandaloneMmDriverEntryPoint
|
||||
BaseLib
|
||||
DebugLib
|
||||
IoLib
|
||||
MmServicesTableLib
|
||||
BaseMemoryLib
|
||||
|
||||
[Protocols]
|
||||
gEfiSmmCpuIo2ProtocolGuid ## PRODUCES
|
||||
|
||||
[Depex]
|
||||
TRUE
|
Reference in New Issue
Block a user