Jeff Fan 265fff3948 MdeModulePkg/PiSmmIpl: Check order of EndOfDxe and DxeSmmReadyToLock
According to PI specification, EndOfDxe Event should be signaled before
DxeSmmReadyToLock protocol installation. This update is ASSERT if EndOfDxe
Event is not signaled when DxeSmmReadyToLock protocol installed. And do
REPORT_STATUS_CODE() also.

Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
2016-05-30 09:41:02 +08:00

96 lines
3.2 KiB
INI

## @file
# This module provide an SMM CIS compliant implementation of SMM IPL.
#
# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = PiSmmIpl
MODULE_UNI_FILE = PiSmmIpl.uni
FILE_GUID = 2FA2A6DA-11D5-4dc3-999A-749648B03C56
MODULE_TYPE = DXE_RUNTIME_DRIVER
VERSION_STRING = 1.0
PI_SPECIFICATION_VERSION = 0x0001000A
ENTRY_POINT = SmmIplEntry
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64
#
[Sources]
PiSmmIpl.c
PiSmmCorePrivateData.h
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
UefiDriverEntryPoint
BaseLib
BaseMemoryLib
PeCoffLib
CacheMaintenanceLib
MemoryAllocationLib
DebugLib
UefiBootServicesTableLib
DxeServicesTableLib
UefiLib
UefiRuntimeLib
DxeServicesLib
PcdLib
ReportStatusCodeLib
[Protocols]
gEfiSmmBase2ProtocolGuid ## PRODUCES
gEfiSmmCommunicationProtocolGuid ## PRODUCES
gEfiSmmAccess2ProtocolGuid ## CONSUMES
## NOTIFY
## CONSUMES
gEfiSmmConfigurationProtocolGuid
gEfiSmmControl2ProtocolGuid ## CONSUMES
## NOTIFY
## SOMETIMES_CONSUMES
## UNDEFINED # Used to do smm communcation
gEfiDxeSmmReadyToLockProtocolGuid
gEfiCpuArchProtocolGuid ## SOMETIMES_CONSUMES
[Guids]
## CONSUMES ## Event
## PRODUCES ## UNDEFINED # Used to do smm communcation
gEfiEventDxeDispatchGuid
gEfiEventReadyToBootGuid ## CONSUMES ## Event
## SOMETIMES_CONSUMES ## Event
## SOMETIMES_PRODUCES ## UNDEFINED # Used to do smm communcation
gEfiEventLegacyBootGuid
## SOMETIMES_CONSUMES ## Event
## SOMETIMES_PRODUCES ## UNDEFINED # Used to do smm communcation
gEfiEventExitBootServicesGuid
## SOMETIMES_CONSUMES ## Event
## SOMETIMES_PRODUCES ## UNDEFINED # Used to do smm communcation
gEfiEventReadyToBootGuid
gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
gLoadFixedAddressConfigurationTableGuid ## SOMETIMES_CONSUMES ## SystemTable
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressSmmCodePageNumber ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable ## CONSUMES
[Depex]
gEfiSmmAccess2ProtocolGuid AND gEfiSmmControl2ProtocolGuid
[UserExtensions.TianoCore."ExtraFiles"]
PiSmmIplExtra.uni